diff options
Diffstat (limited to 'src')
176 files changed, 36374 insertions, 25289 deletions
diff --git a/src/alloc.c b/src/alloc.c index 2944bc1c6..4d1a9fe5c 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -178,12 +178,12 @@ void InitHeap(void *heapStart, u32 heapSize) void *Alloc(u32 size) { - AllocInternal(sHeapStart, size); + return AllocInternal(sHeapStart, size); } void *AllocZeroed(u32 size) { - AllocZeroedInternal(sHeapStart, size); + return AllocZeroedInternal(sHeapStart, size); } void Free(void *pointer) diff --git a/src/apprentice.c b/src/apprentice.c index 27ff8e36e..4ad295e1a 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -2,7 +2,7 @@ #include "apprentice.h" #include "battle.h" #include "battle_tower.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "field_player_avatar.h" @@ -2013,28 +2013,27 @@ static void sub_81A1218(void) sub_81AAC28(); } -#ifdef NONMATCHING static void sub_81A1224(void) { - u8 count; u8 i, j; + u8 count; if (PLAYER_APPRENTICE.field_B1_1 < 3) return; - count = 0; - for (j = 0; j < 9 && PLAYER_APPRENTICE.field_B8[j].unk0_0; count++, j++) + for (count = 0, j = 0; j < 9 && PLAYER_APPRENTICE.field_B8[j].unk0_0; count++, j++) ; for (i = 0; i < count && i < PLAYER_APPRENTICE.field_B1_1 - 3; i++) { + do {} while(0); if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 1 && PLAYER_APPRENTICE.field_B8[i].unk0_3 && PLAYER_APPRENTICE.field_B8[i].unk2 == gSpecialVar_0x8005) { PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_3 = 0; PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005; - gSpecialVar_Result = i; + gSpecialVar_Result = 0; return; } } @@ -2043,180 +2042,6 @@ static void sub_81A1224(void) PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005; gSpecialVar_Result = 1; } -#else -NAKED -static void sub_81A1224(void) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - ldr r1, =gSaveBlock2Ptr\n\ - ldr r3, [r1]\n\ - adds r0, r3, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - adds r7, r1, 0\n\ - cmp r0, 0x2\n\ - bhi _081A1242\n\ - b _081A1362\n\ -_081A1242:\n\ - movs r5, 0\n\ - movs r2, 0\n\ - adds r0, r3, 0\n\ - adds r0, 0xB8\n\ - ldrb r0, [r0]\n\ - lsls r0, 30\n\ - ldr r1, =gSpecialVar_0x8005\n\ - mov r12, r1\n\ - ldr r1, =gSpecialVar_Result\n\ - mov r8, r1\n\ - cmp r0, 0\n\ - beq _081A127C\n\ - adds r3, r7, 0\n\ -_081A125C:\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - adds r0, r2, 0x1\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - cmp r2, 0x8\n\ - bhi _081A127C\n\ - ldr r0, [r3]\n\ - lsls r1, r2, 2\n\ - adds r0, r1\n\ - adds r0, 0xB8\n\ - ldrb r0, [r0]\n\ - lsls r0, 30\n\ - cmp r0, 0\n\ - bne _081A125C\n\ -_081A127C:\n\ - movs r4, 0\n\ - cmp r4, r5\n\ - bcs _081A1322\n\ - ldr r0, [r7]\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - cmp r4, r0\n\ - bge _081A1322\n\ - adds r6, r7, 0\n\ - mov r9, r4\n\ -_081A1296:\n\ - ldr r3, [r6]\n\ - lsls r0, r4, 2\n\ - adds r2, r3, r0\n\ - adds r0, r2, 0\n\ - adds r0, 0xB8\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 30\n\ - lsrs r0, 30\n\ - cmp r0, 0x1\n\ - bne _081A1308\n\ - lsrs r0, r1, 6\n\ - cmp r0, 0\n\ - beq _081A1308\n\ - adds r0, r2, 0\n\ - adds r0, 0xBA\n\ - ldrh r0, [r0]\n\ - mov r2, r12\n\ - ldrh r2, [r2]\n\ - cmp r0, r2\n\ - bne _081A1308\n\ - adds r0, r3, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r0, r3, r0\n\ - adds r0, 0xB8\n\ - ldrb r2, [r0]\n\ - movs r1, 0x3F\n\ - ands r1, r2\n\ - strb r1, [r0]\n\ - ldr r1, [r6]\n\ - adds r0, r1, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r1, r0\n\ - mov r2, r12\n\ - ldrh r0, [r2]\n\ - adds r1, 0xBA\n\ - strh r0, [r1]\n\ - mov r1, r9\n\ - mov r0, r8\n\ - strh r1, [r0]\n\ - b _081A1362\n\ - .pool\n\ -_081A1308:\n\ - adds r0, r4, 0x1\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - cmp r4, r5\n\ - bcs _081A1322\n\ - ldr r0, [r6]\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - cmp r4, r0\n\ - blt _081A1296\n\ -_081A1322:\n\ - ldr r2, [r7]\n\ - adds r0, r2, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r2, r0\n\ - adds r2, 0xB8\n\ - ldrb r1, [r2]\n\ - movs r0, 0x3F\n\ - ands r0, r1\n\ - movs r1, 0x40\n\ - orrs r0, r1\n\ - strb r0, [r2]\n\ - ldr r1, [r7]\n\ - adds r0, r1, 0\n\ - adds r0, 0xB1\n\ - ldrb r0, [r0]\n\ - lsls r0, 26\n\ - lsrs r0, 28\n\ - subs r0, 0x3\n\ - lsls r0, 2\n\ - adds r1, r0\n\ - mov r2, r12\n\ - ldrh r0, [r2]\n\ - adds r1, 0xBA\n\ - strh r0, [r1]\n\ - movs r0, 0x1\n\ - mov r1, r8\n\ - strh r0, [r1]\n\ -_081A1362:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ -"); -} -#endif // NONMATCHING static void sub_81A1370(void) { diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 61876e0de..5e832aba0 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -4,6 +4,7 @@ #include "battle_ai_script_commands.h" #include "battle_factory.h" #include "battle_setup.h" +#include "data.h" #include "item.h" #include "pokemon.h" #include "random.h" @@ -2217,7 +2218,7 @@ static void BattleAICmd_if_flash_fired(void) { u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if (gBattleResources->flags->flags[battlerId] & UNKNOWN_FLAG_FLASH_FIRE) + if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_FLASH_FIRE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 2d67fda99..de798eee3 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -6,6 +6,7 @@ #include "random.h" #include "util.h" #include "constants/abilities.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/species.h" @@ -778,18 +779,17 @@ u8 GetMostSuitableMonToSwitchInto(void) return bestMonId; } -// TODO: use PokemonItemEffect struct instead of u8 once it's documented. static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u16 as item Id argument { if (itemId == ITEM_FULL_RESTORE) return AI_ITEM_FULL_RESTORE; - else if (itemEffect[4] & 4) + else if (itemEffect[4] & ITEM4_HEAL_HP) return AI_ITEM_HEAL_HP; - else if (itemEffect[3] & 0x3F) + else if (itemEffect[3] & ITEM3_STATUS_ALL) return AI_ITEM_CURE_CONDITION; - else if (itemEffect[0] & 0x3F || itemEffect[1] != 0 || itemEffect[2] != 0) + else if (itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0) return AI_ITEM_X_STAT; - else if (itemEffect[3] & 0x80) + else if (itemEffect[3] & ITEM3_MIST) return AI_ITEM_GUARD_SPECS; else return AI_ITEM_NOT_RECOGNIZABLE; @@ -832,13 +832,13 @@ static bool8 ShouldUseItem(void) item = gBattleResources->battleHistory->trainerItems[i]; if (item == ITEM_NONE) continue; - if (gItemEffectTable[item - 13] == NULL) + if (gItemEffectTable[item - ITEM_POTION] == NULL) continue; if (item == ITEM_ENIGMA_BERRY) itemEffects = gSaveBlock1Ptr->enigmaBerry.itemEffect; else - itemEffects = gItemEffectTable[item - 13]; + itemEffects = gItemEffectTable[item - ITEM_POTION]; *(gBattleStruct->AI_itemType + gActiveBattler / 2) = GetAI_ItemType(item, itemEffects); @@ -862,32 +862,32 @@ static bool8 ShouldUseItem(void) break; case AI_ITEM_CURE_CONDITION: *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0; - if (itemEffects[3] & 0x20 && gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) + if (itemEffects[3] & ITEM3_SLEEP && gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; shouldUse = TRUE; } - if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON || gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON)) + if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON || gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON)) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x10; shouldUse = TRUE; } - if (itemEffects[3] & 0x8 && gBattleMons[gActiveBattler].status1 & STATUS1_BURN) + if (itemEffects[3] & ITEM3_BURN && gBattleMons[gActiveBattler].status1 & STATUS1_BURN) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; shouldUse = TRUE; } - if (itemEffects[3] & 0x4 && gBattleMons[gActiveBattler].status1 & STATUS1_FREEZE) + if (itemEffects[3] & ITEM3_FREEZE && gBattleMons[gActiveBattler].status1 & STATUS1_FREEZE) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4; shouldUse = TRUE; } - if (itemEffects[3] & 0x2 && gBattleMons[gActiveBattler].status1 & STATUS1_PARALYSIS) + if (itemEffects[3] & ITEM3_PARALYSIS && gBattleMons[gActiveBattler].status1 & STATUS1_PARALYSIS) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2; shouldUse = TRUE; } - if (itemEffects[3] & 0x1 && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) + if (itemEffects[3] & ITEM3_CONFUSION && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) { *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1; shouldUse = TRUE; @@ -897,17 +897,17 @@ static bool8 ShouldUseItem(void) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0; if (gDisableStructs[gActiveBattler].isFirstTurn == 0) break; - if (itemEffects[0] & 0xF) + if (itemEffects[0] & ITEM0_X_ATTACK) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1; - if (itemEffects[1] & 0xF0) + if (itemEffects[1] & ITEM1_X_DEFEND) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2; - if (itemEffects[1] & 0xF) + if (itemEffects[1] & ITEM1_X_SPEED) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4; - if (itemEffects[2] & 0xF) + if (itemEffects[2] & ITEM2_X_SPATK) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; - if (itemEffects[2] & 0xF0) + if (itemEffects[2] & ITEM2_X_ACCURACY) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; - if (itemEffects[0] & 0x30) + if (itemEffects[0] & ITEM0_HIGH_CRIT) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80; shouldUse = TRUE; break; diff --git a/src/battle_anim.c b/src/battle_anim.c index 88de3ee88..3cac9f33e 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -26,7 +26,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2; extern const u16 gMovesWithQuietBGM[]; extern const u8 *const gBattleAnims_Moves[]; -extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; // this file's functions static void ScriptCmd_loadspritegfx(void); @@ -1126,620 +1125,619 @@ const struct OamData gUnknown_08524B3C = const struct CompressedSpriteSheet gBattleAnimPicTable[] = { - {gBattleAnimSpriteSheet_000, 0x0200, ANIM_TAG_BONE}, - {gBattleAnimSpriteSheet_001, 0x0300, ANIM_TAG_SPARK}, - {gBattleAnimSpriteSheet_002, 0x0200, ANIM_TAG_PENCIL}, - {gBattleAnimSpriteSheet_003, 0x0100, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpriteSheet_004, 0x0200, ANIM_TAG_UNUSED_ORB}, - {gBattleAnimSpriteSheet_005, 0x0400, ANIM_TAG_SWORD}, - {gBattleAnimSpriteSheet_006, 0x0180, ANIM_TAG_SEED}, - {gBattleAnimSpriteSheet_007, 0x0800, ANIM_TAG_UNUSED_EXPLOSION}, - {gBattleAnimSpriteSheet_008, 0x0020, ANIM_TAG_UNUSED_PINK_ORB}, - {gBattleAnimSpriteSheet_009, 0x0400, ANIM_TAG_GUST}, - {gBattleAnimSpriteSheet_010, 0x1200, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpriteSheet_011, 0x0180, ANIM_TAG_SPARK_2}, - {gBattleAnimSpriteSheet_012, 0x0080, ANIM_TAG_UNUSED_ORANGE}, - {gBattleAnimSpriteSheet_013, 0x0080, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpriteSheet_014, 0x0280, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpriteSheet_015, 0x0080, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpriteSheet_016, 0x0100, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpriteSheet_017, 0x0020, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpriteSheet_018, 0x0080, ANIM_TAG_CONVERSION}, - {gBattleAnimSpriteSheet_019, 0x0400, ANIM_TAG_UNUSED_GLASS}, - {gBattleAnimSpriteSheet_020, 0x0200, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT}, - {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT_2}, - {gBattleAnimSpriteSheet_023, 0x0380, ANIM_TAG_UNUSED_BLUE_SHARDS}, - {gBattleAnimSpriteSheet_024, 0x0300, ANIM_TAG_UNUSED_CLOSING_EYE}, - {gBattleAnimSpriteSheet_025, 0x0A00, ANIM_TAG_UNUSED_WAVING_HAND}, - {gBattleAnimSpriteSheet_026, 0x0A00, ANIM_TAG_UNUSED_HIT_DUPLICATE}, - {gBattleAnimSpriteSheet_027, 0x0A00, ANIM_TAG_LEER}, - {gBattleAnimSpriteSheet_028, 0x0A00, ANIM_TAG_UNUSED_BLUE_BURST}, - {gBattleAnimSpriteSheet_029, 0x0A00, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpriteSheet_030, 0x0A00, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpriteSheet_031, 0x0E00, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpriteSheet_032, 0x0380, ANIM_TAG_UNUSED_BUBBLE_BURST}, - {gBattleAnimSpriteSheet_033, 0x1000, ANIM_TAG_FIRE}, - {gBattleAnimSpriteSheet_034, 0x0800, ANIM_TAG_UNUSED_SPINNING_FIRE}, - {gBattleAnimSpriteSheet_035, 0x0A00, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpriteSheet_036, 0x0800, ANIM_TAG_UNUSED_LIGHTNING}, - {gBattleAnimSpriteSheet_037, 0x0A00, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpriteSheet_038, 0x0A00, ANIM_TAG_UNUSED_CLAW_SLASH}, - {gBattleAnimSpriteSheet_039, 0x0A00, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpriteSheet_040, 0x0A00, ANIM_TAG_UNUSED_SCRATCH}, - {gBattleAnimSpriteSheet_041, 0x0A00, ANIM_TAG_UNUSED_SCRATCH_2}, - {gBattleAnimSpriteSheet_042, 0x0A00, ANIM_TAG_UNUSED_BUBBLE_BURST_2}, - {gBattleAnimSpriteSheet_043, 0x0A00, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpriteSheet_044, 0x0A00, ANIM_TAG_UNUSED_GLASS_2}, - {gBattleAnimSpriteSheet_045, 0x0A00, ANIM_TAG_UNUSED_PINK_HEART}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP_2}, - {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpriteSheet_050, 0x0200, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpriteSheet_051, 0x0200, ANIM_TAG_UNUSED_MONSTER_FOOT}, - {gBattleAnimSpriteSheet_052, 0x0200, ANIM_TAG_UNUSED_HUMANOID_HAND}, - {gBattleAnimSpriteSheet_053, 0x0800, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpriteSheet_054, 0x0080, ANIM_TAG_UNUSED_YELLOW_UNK}, - {gBattleAnimSpriteSheet_055, 0x0200, ANIM_TAG_UNUSED_RED_FIST}, - {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpriteSheet_057, 0x0180, ANIM_TAG_UNUSED_RING}, - {gBattleAnimSpriteSheet_058, 0x0C00, ANIM_TAG_ROCKS}, - {gBattleAnimSpriteSheet_059, 0x0100, ANIM_TAG_UNUSED_Z}, - {gBattleAnimSpriteSheet_060, 0x0040, ANIM_TAG_UNUSED_YELLOW_UNK_2}, - {gBattleAnimSpriteSheet_061, 0x0180, ANIM_TAG_UNUSED_AIR_SLASH}, - {gBattleAnimSpriteSheet_062, 0x0800, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS}, - {gBattleAnimSpriteSheet_063, 0x0480, ANIM_TAG_LEAF}, - {gBattleAnimSpriteSheet_064, 0x0200, ANIM_TAG_FINGER}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpriteSheet_066, 0x0100, ANIM_TAG_UNUSED_BROWN_TRIANGLE}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_UNUSED_POWDER}, - {gBattleAnimSpriteSheet_070, 0x0200, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpriteSheet_071, 0x0A00, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpriteSheet_072, 0x0300, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpriteSheet_073, 0x0180, ANIM_TAG_DUCK}, - {gBattleAnimSpriteSheet_074, 0x00A0, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpriteSheet_075, 0x0700, ANIM_TAG_ALERT}, - {gBattleAnimSpriteSheet_076, 0x0400, ANIM_TAG_UNUSED_BLUE_FLAMES}, - {gBattleAnimSpriteSheet_077, 0x0200, ANIM_TAG_UNUSED_BLUE_FLAMES_2}, - {gBattleAnimSpriteSheet_078, 0x0300, ANIM_TAG_UNUSED_SHOCK}, - {gBattleAnimSpriteSheet_079, 0x0C00, ANIM_TAG_SHOCK}, - {gBattleAnimSpriteSheet_080, 0x0A00, ANIM_TAG_UNUSED_BELL}, - {gBattleAnimSpriteSheet_081, 0x0080, ANIM_TAG_UNUSED_PINK_GLOVE}, - {gBattleAnimSpriteSheet_082, 0x0040, ANIM_TAG_UNUSED_BLUE_LINES}, - {gBattleAnimSpriteSheet_083, 0x0E00, ANIM_TAG_UNUSED_IMPACT}, - {gBattleAnimSpriteSheet_084, 0x0E00, ANIM_TAG_UNUSED_IMPACT_2}, - {gBattleAnimSpriteSheet_085, 0x0280, ANIM_TAG_UNUSED_RETICLE}, - {gBattleAnimSpriteSheet_086, 0x0200, ANIM_TAG_BREATH}, - {gBattleAnimSpriteSheet_087, 0x0080, ANIM_TAG_ANGER}, - {gBattleAnimSpriteSheet_088, 0x00C0, ANIM_TAG_UNUSED_SNOWBALL}, - {gBattleAnimSpriteSheet_089, 0x0A00, ANIM_TAG_UNUSED_VINE}, - {gBattleAnimSpriteSheet_090, 0x0200, ANIM_TAG_UNUSED_SWORD}, - {gBattleAnimSpriteSheet_091, 0x0180, ANIM_TAG_UNUSED_CLAPPING}, - {gBattleAnimSpriteSheet_092, 0x0080, ANIM_TAG_UNUSED_RED_TUBE}, - {gBattleAnimSpriteSheet_093, 0x1000, ANIM_TAG_AMNESIA}, - {gBattleAnimSpriteSheet_094, 0x0A00, ANIM_TAG_UNUSED_STRING}, - {gBattleAnimSpriteSheet_095, 0x0180, ANIM_TAG_UNUSED_PENCIL}, - {gBattleAnimSpriteSheet_096, 0x0380, ANIM_TAG_UNUSED_PETAL}, - {gBattleAnimSpriteSheet_097, 0x0C00, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpriteSheet_098, 0x0200, ANIM_TAG_UNUSED_WEB}, - {gBattleAnimSpriteSheet_099, 0x0200, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpriteSheet_100, 0x0200, ANIM_TAG_COIN}, - {gBattleAnimSpriteSheet_101, 0x0200, ANIM_TAG_UNUSED_CRACKED_EGG}, - {gBattleAnimSpriteSheet_102, 0x0400, ANIM_TAG_UNUSED_HATCHED_EGG}, - {gBattleAnimSpriteSheet_103, 0x0080, ANIM_TAG_UNUSED_FRESH_EGG}, - {gBattleAnimSpriteSheet_104, 0x0400, ANIM_TAG_UNUSED_FANGS}, - {gBattleAnimSpriteSheet_105, 0x0c00, ANIM_TAG_UNUSED_EXPLOSION_2}, - {gBattleAnimSpriteSheet_106, 0x0200, ANIM_TAG_UNUSED_EXPLOSION_3}, - {gBattleAnimSpriteSheet_107, 0x1000, ANIM_TAG_UNUSED_WATER_DROPLET}, - {gBattleAnimSpriteSheet_108, 0x0a00, ANIM_TAG_UNUSED_WATER_DROPLET_2}, - {gBattleAnimSpriteSheet_109, 0x0020, ANIM_TAG_UNUSED_SEED}, - {gBattleAnimSpriteSheet_110, 0x0e00, ANIM_TAG_UNUSED_SPROUT}, - {gBattleAnimSpriteSheet_111, 0x0080, ANIM_TAG_UNUSED_RED_WAND}, - {gBattleAnimSpriteSheet_112, 0x0a00, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK}, - {gBattleAnimSpriteSheet_113, 0x0400, ANIM_TAG_UNUSED_WATER_COLUMN}, - {gBattleAnimSpriteSheet_114, 0x0200, ANIM_TAG_UNUSED_MUD_UNK}, - {gBattleAnimSpriteSheet_115, 0x0700, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpriteSheet_116, 0x0800, ANIM_TAG_UNUSED_FURY_SWIPES}, - {gBattleAnimSpriteSheet_117, 0x0a00, ANIM_TAG_UNUSED_VINE_2}, - {gBattleAnimSpriteSheet_118, 0x0600, ANIM_TAG_UNUSED_TEETH}, - {gBattleAnimSpriteSheet_119, 0x0800, ANIM_TAG_UNUSED_BONE}, - {gBattleAnimSpriteSheet_120, 0x0200, ANIM_TAG_UNUSED_WHITE_BAG}, - {gBattleAnimSpriteSheet_121, 0x0040, ANIM_TAG_UNUSED_UNKNOWN}, - {gBattleAnimSpriteSheet_122, 0x0180, ANIM_TAG_UNUSED_PURPLE_CORAL}, - {gBattleAnimSpriteSheet_123, 0x0600, ANIM_TAG_UNUSED_PURPLE_DROPLET}, - {gBattleAnimSpriteSheet_124, 0x0600, ANIM_TAG_UNUSED_SHOCK_2}, - {gBattleAnimSpriteSheet_125, 0x0200, ANIM_TAG_UNUSED_CLOSING_EYE_2}, - {gBattleAnimSpriteSheet_126, 0x0080, ANIM_TAG_UNUSED_METAL_BALL}, - {gBattleAnimSpriteSheet_127, 0x0200, ANIM_TAG_UNUSED_MONSTER_DOLL}, - {gBattleAnimSpriteSheet_128, 0x0800, ANIM_TAG_UNUSED_WHIRLWIND}, - {gBattleAnimSpriteSheet_129, 0x0080, ANIM_TAG_UNUSED_WHIRLWIND_2}, - {gBattleAnimSpriteSheet_130, 0x0a00, ANIM_TAG_UNUSED_EXPLOSION_4}, - {gBattleAnimSpriteSheet_131, 0x0280, ANIM_TAG_UNUSED_EXPLOSION_5}, - {gBattleAnimSpriteSheet_132, 0x0280, ANIM_TAG_UNUSED_TONGUE}, - {gBattleAnimSpriteSheet_133, 0x0100, ANIM_TAG_UNUSED_SMOKE}, - {gBattleAnimSpriteSheet_134, 0x0200, ANIM_TAG_UNUSED_SMOKE_2}, - {gBattleAnimSpriteSheet_135, 0x0200, ANIM_TAG_IMPACT}, - {gBattleAnimSpriteSheet_136, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpriteSheet_137, 0x0a00, ANIM_TAG_SCRATCH}, - {gBattleAnimSpriteSheet_138, 0x0800, ANIM_TAG_CUT}, - {gBattleAnimSpriteSheet_139, 0x0800, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpriteSheet_140, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpriteSheet_141, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpriteSheet_142, 0x0100, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpriteSheet_143, 0x0800, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpriteSheet_145, 0x0800, ANIM_TAG_CLAMP}, - {gBattleAnimSpriteSheet_146, 0x0180, ANIM_TAG_BUBBLE}, - {gBattleAnimSpriteSheet_147, 0x0180, ANIM_TAG_ORBS}, - {gBattleAnimSpriteSheet_148, 0x0200, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpriteSheet_150, 0x0180, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpriteSheet_151, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpriteSheet_152, 0x0080, ANIM_TAG_SPIKES}, - {gBattleAnimSpriteSheet_153, 0x0100, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpriteSheet_154, 0x0100, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpriteSheet_155, 0x0140, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpriteSheet_156, 0x0800, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpriteSheet_157, 0x0200, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpriteSheet_158, 0x0100, ANIM_TAG_SPORE}, - {gBattleAnimSpriteSheet_159, 0x00a0, ANIM_TAG_FLOWER}, - {gBattleAnimSpriteSheet_160, 0x0100, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpriteSheet_161, 0x0080, ANIM_TAG_NEEDLE}, - {gBattleAnimSpriteSheet_162, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpriteSheet_171, 0x0080, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpriteSheet_173, 0x0200, ANIM_TAG_SPARK_H}, - {gBattleAnimSpriteSheet_174, 0x0200, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpriteSheet_175, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpriteSheet_176, 0x0200, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpriteSheet_177, 0x0500, ANIM_TAG_LICK}, - {gBattleAnimSpriteSheet_178, 0x0800, ANIM_TAG_UNUSED_VOID_LINES}, - {gBattleAnimSpriteSheet_179, 0x0400, ANIM_TAG_STRING}, - {gBattleAnimSpriteSheet_180, 0x0020, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpriteSheet_181, 0x0800, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpriteSheet_182, 0x0100, ANIM_TAG_UNUSED_LIGHTBULB}, - {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH}, - {gBattleAnimSpriteSheet_184, 0x0400, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpriteSheet_185, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpriteSheet_186, 0x1000, ANIM_TAG_TENDRILS}, - {gBattleAnimSpriteSheet_187, 0x0800, ANIM_TAG_EYE}, - {gBattleAnimSpriteSheet_188, 0x0400, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpriteSheet_189, 0x0200, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpriteSheet_190, 0x0800, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpriteSheet_191, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpriteSheet_192, 0x0800, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpriteSheet_193, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpriteSheet_194, 0x0800, ANIM_TAG_MOON}, - {gBattleAnimSpriteSheet_195, 0x0200, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpriteSheet_196, 0x0800, ANIM_TAG_SPIRAL}, - {gBattleAnimSpriteSheet_197, 0x0200, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpriteSheet_198, 0x0800, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpriteSheet_199, 0x0400, ANIM_TAG_NAIL}, - {gBattleAnimSpriteSheet_200, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpriteSheet_201, 0x0a80, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpriteSheet_202, 0x0600, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpriteSheet_203, 0x0800, ANIM_TAG_THIN_RING}, - {gBattleAnimSpriteSheet_204, 0x0200, ANIM_TAG_UNUSED_PUNCH_IMPACT}, - {gBattleAnimSpriteSheet_205, 0x0600, ANIM_TAG_BELL}, - {gBattleAnimSpriteSheet_206, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpriteSheet_207, 0x0180, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpriteSheet_208, 0x0800, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpriteSheet_209, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpriteSheet_211, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_213, 0x0800, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpriteSheet_214, 0x0600, ANIM_TAG_FINGER_2}, - {gBattleAnimSpriteSheet_215, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_RED_HEART}, - {gBattleAnimSpriteSheet_217, 0x0080, ANIM_TAG_RED_ORB}, - {gBattleAnimSpriteSheet_218, 0x0180, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpriteSheet_220, 0x0200, ANIM_TAG_ANGEL}, - {gBattleAnimSpriteSheet_221, 0x0400, ANIM_TAG_DEVIL}, - {gBattleAnimSpriteSheet_222, 0x0a00, ANIM_TAG_SWIPE}, - {gBattleAnimSpriteSheet_223, 0x0800, ANIM_TAG_ROOTS}, - {gBattleAnimSpriteSheet_224, 0x0200, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpriteSheet_225, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpriteSheet_226, 0x0080, ANIM_TAG_POKEBALL}, - {gBattleAnimSpriteSheet_227, 0x0800, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpriteSheet_228, 0x0200, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpriteSheet_229, 0x0300, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpriteSheet_230, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpriteSheet_231, 0x0380, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpriteSheet_232, 0x0800, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpriteSheet_233, 0x00c0, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpriteSheet_234, 0x0800, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpriteSheet_238, 0x0080, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpriteSheet_239, 0x0180, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpriteSheet_240, 0x0180, ANIM_TAG_CONFETTI}, - {gBattleAnimSpriteSheet_241, 0x0200, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpriteSheet_242, 0x0200, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpriteSheet_243, 0x0020, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpriteSheet_244, 0x0400, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpriteSheet_245, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpriteSheet_246, 0x1000, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpriteSheet_247, 0x0400, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpriteSheet_248, 0x0020, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpriteSheet_249, 0x0080, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpriteSheet_250, 0x0800, ANIM_TAG_X_SIGN}, - {gBattleAnimSpriteSheet_251, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpriteSheet_252, 0x0200, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpriteSheet_253, 0x0400, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpriteSheet_254, 0x0200, ANIM_TAG_RED_BALL}, - {gBattleAnimSpriteSheet_255, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpriteSheet_256, 0x0800, ANIM_TAG_METEOR}, - {gBattleAnimSpriteSheet_257, 0x0280, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpriteSheet_258, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpriteSheet_260, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpriteSheet_261, 0x0200, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpriteSheet_262, 0x0200, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpriteSheet_263, 0x0080, ANIM_TAG_HAIL}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpriteSheet_266, 0x0080, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpriteSheet_269, 0x0080, ANIM_TAG_UNUSED_RED_BRICK}, - {gBattleAnimSpriteSheet_270, 0x0400, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpriteSheet_271, 0x0080, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpriteSheet_272, 0x0800, ANIM_TAG_SPLASH}, - {gBattleAnimSpriteSheet_273, 0x0020, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpriteSheet_274, 0x0800, ANIM_TAG_UNUSED_GEM_1}, - {gBattleAnimSpriteSheet_275, 0x0800, ANIM_TAG_UNUSED_GEM_2}, - {gBattleAnimSpriteSheet_276, 0x0800, ANIM_TAG_UNUSED_GEM_3}, - {gBattleAnimSpriteSheet_277, 0x1000, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpriteSheet_278, 0x0800, ANIM_TAG_RECYCLE}, - {gBattleAnimSpriteSheet_279, 0x00a0, ANIM_TAG_UNUSED_RED_PARTICLES}, - {gBattleAnimSpriteSheet_280, 0x0800, ANIM_TAG_PROTECT}, - {gBattleAnimSpriteSheet_281, 0x0200, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpriteSheet_282, 0x0600, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpriteSheet_283, 0x0200, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpriteSheet_284, 0x0800, ANIM_TAG_BIRD}, - {gBattleAnimSpriteSheet_285, 0x0200, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH_2}, - {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE}, + {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK}, + {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL}, + {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB}, + {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD}, + {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED}, + {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST}, + {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2}, + {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE}, + {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION}, + {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS}, + {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2}, + {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER}, + {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE}, + {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2}, + {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING}, + {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS}, + {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z}, + {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF}, + {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER}, + {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK}, + {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT}, + {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK}, + {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2}, + {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE}, + {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH}, + {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER}, + {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE}, + {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2}, + {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING}, + {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA}, + {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2}, + {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL}, + {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB}, + {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN}, + {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS}, + {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2}, + {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT}, + {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND}, + {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2}, + {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH}, + {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2}, + {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE}, + {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE}, + {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT}, + {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH}, + {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT}, + {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP}, + {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE}, + {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS}, + {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES}, + {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE}, + {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER}, + {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE}, + {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H}, + {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK}, + {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING}, + {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH}, + {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS}, + {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE}, + {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON}, + {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL}, + {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL}, + {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING}, + {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL}, + {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2}, + {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART}, + {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB}, + {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL}, + {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL}, + {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE}, + {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS}, + {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL}, + {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpriteGfx_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI}, + {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN}, + {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL}, + {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR}, + {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpriteGfx_Pokeblock, 0x0080, ANIM_TAG_POKEBLOCK}, + {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH}, + {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1}, + {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2}, + {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3}, + {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE}, + {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT}, + {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD}, + {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2}, }; - const struct CompressedSpritePalette gBattleAnimPaletteTable[] = { - {gBattleAnimSpritePalette_000, ANIM_TAG_BONE}, - {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK}, - {gBattleAnimSpritePalette_002, ANIM_TAG_PENCIL}, - {gBattleAnimSpritePalette_003, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpritePalette_004, ANIM_TAG_UNUSED_ORB}, - {gBattleAnimSpritePalette_005, ANIM_TAG_SWORD}, - {gBattleAnimSpritePalette_006, ANIM_TAG_SEED}, - {gBattleAnimSpritePalette_007, ANIM_TAG_UNUSED_EXPLOSION}, - {gBattleAnimSpritePalette_008, ANIM_TAG_UNUSED_PINK_ORB}, - {gBattleAnimSpritePalette_009, ANIM_TAG_GUST}, - {gBattleAnimSpritePalette_010, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpritePalette_011, ANIM_TAG_SPARK_2}, - {gBattleAnimSpritePalette_012, ANIM_TAG_UNUSED_ORANGE}, - {gBattleAnimSpritePalette_013, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpritePalette_014, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpritePalette_015, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpritePalette_018, ANIM_TAG_CONVERSION}, - {gBattleAnimSpritePalette_019, ANIM_TAG_UNUSED_GLASS}, - {gBattleAnimSpritePalette_020, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpritePalette_021, ANIM_TAG_UNUSED_HIT}, - {gBattleAnimSpritePalette_022, ANIM_TAG_UNUSED_HIT_2}, - {gBattleAnimSpritePalette_023, ANIM_TAG_UNUSED_BLUE_SHARDS}, - {gBattleAnimSpritePalette_024, ANIM_TAG_UNUSED_CLOSING_EYE}, - {gBattleAnimSpritePalette_025, ANIM_TAG_UNUSED_WAVING_HAND}, - {gBattleAnimSpritePalette_026, ANIM_TAG_UNUSED_HIT_DUPLICATE}, - {gBattleAnimSpritePalette_027, ANIM_TAG_LEER}, - {gBattleAnimSpritePalette_028, ANIM_TAG_UNUSED_BLUE_BURST}, - {gBattleAnimSpritePalette_029, ANIM_TAG_SMALL_EMBER}, - {gBattleAnimSpritePalette_030, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpritePalette_031, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpritePalette_032, ANIM_TAG_UNUSED_BUBBLE_BURST}, - {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE}, - {gBattleAnimSpritePalette_033, ANIM_TAG_UNUSED_SPINNING_FIRE}, - {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpritePalette_036, ANIM_TAG_UNUSED_LIGHTNING}, - {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_CLAW_SLASH}, - {gBattleAnimSpritePalette_039, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH}, - {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH_2}, - {gBattleAnimSpritePalette_042, ANIM_TAG_UNUSED_BUBBLE_BURST_2}, - {gBattleAnimSpritePalette_043, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpritePalette_044, ANIM_TAG_UNUSED_GLASS_2}, - {gBattleAnimSpritePalette_045, ANIM_TAG_UNUSED_PINK_HEART}, - {gBattleAnimSpritePalette_046, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpritePalette_047, ANIM_TAG_UNUSED_SAP_DRIP}, - {gBattleAnimSpritePalette_048, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpritePalette_049, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_MONSTER_FOOT}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_HUMANOID_HAND}, - {gBattleAnimSpritePalette_026, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpritePalette_054, ANIM_TAG_UNUSED_YELLOW_UNK}, - {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_RED_FIST}, - {gBattleAnimSpritePalette_056, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpritePalette_057, ANIM_TAG_UNUSED_RING}, - {gBattleAnimSpritePalette_058, ANIM_TAG_ROCKS}, - {gBattleAnimSpritePalette_059, ANIM_TAG_UNUSED_Z}, - {gBattleAnimSpritePalette_060, ANIM_TAG_UNUSED_YELLOW_UNK_2}, - {gBattleAnimSpritePalette_061, ANIM_TAG_UNUSED_AIR_SLASH}, - {gBattleAnimSpritePalette_062, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS}, - {gBattleAnimSpritePalette_063, ANIM_TAG_LEAF}, - {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER}, - {gBattleAnimSpritePalette_065, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpritePalette_066, ANIM_TAG_UNUSED_BROWN_TRIANGLE}, - {gBattleAnimSpritePalette_067, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpritePalette_068, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpritePalette_065, ANIM_TAG_UNUSED_POWDER}, - {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpritePalette_072, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpritePalette_073, ANIM_TAG_DUCK}, - {gBattleAnimSpritePalette_074, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpritePalette_075, ANIM_TAG_ALERT}, - {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES}, - {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES_2}, - {gBattleAnimSpritePalette_078, ANIM_TAG_UNUSED_SHOCK}, - {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK}, - {gBattleAnimSpritePalette_080, ANIM_TAG_UNUSED_BELL}, - {gBattleAnimSpritePalette_081, ANIM_TAG_UNUSED_PINK_GLOVE}, - {gBattleAnimSpritePalette_082, ANIM_TAG_UNUSED_BLUE_LINES}, - {gBattleAnimSpritePalette_083, ANIM_TAG_UNUSED_IMPACT}, - {gBattleAnimSpritePalette_084, ANIM_TAG_UNUSED_IMPACT_2}, - {gBattleAnimSpritePalette_085, ANIM_TAG_UNUSED_RETICLE}, - {gBattleAnimSpritePalette_086, ANIM_TAG_BREATH}, - {gBattleAnimSpritePalette_087, ANIM_TAG_ANGER}, - {gBattleAnimSpritePalette_088, ANIM_TAG_UNUSED_SNOWBALL}, - {gBattleAnimSpritePalette_089, ANIM_TAG_UNUSED_VINE}, - {gBattleAnimSpritePalette_090, ANIM_TAG_UNUSED_SWORD}, - {gBattleAnimSpritePalette_091, ANIM_TAG_UNUSED_CLAPPING}, - {gBattleAnimSpritePalette_092, ANIM_TAG_UNUSED_RED_TUBE}, - {gBattleAnimSpritePalette_093, ANIM_TAG_AMNESIA}, - {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_STRING}, - {gBattleAnimSpritePalette_095, ANIM_TAG_UNUSED_PENCIL}, - {gBattleAnimSpritePalette_096, ANIM_TAG_UNUSED_PETAL}, - {gBattleAnimSpritePalette_097, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_WEB}, - {gBattleAnimSpritePalette_099, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpritePalette_100, ANIM_TAG_COIN}, - {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_CRACKED_EGG}, - {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_HATCHED_EGG}, - {gBattleAnimSpritePalette_103, ANIM_TAG_UNUSED_FRESH_EGG}, - {gBattleAnimSpritePalette_104, ANIM_TAG_UNUSED_FANGS}, - {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_2}, - {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_3}, - {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET}, - {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET_2}, - {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SEED}, - {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SPROUT}, - {gBattleAnimSpritePalette_111, ANIM_TAG_UNUSED_RED_WAND}, - {gBattleAnimSpritePalette_112, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK}, - {gBattleAnimSpritePalette_113, ANIM_TAG_UNUSED_WATER_COLUMN}, - {gBattleAnimSpritePalette_114, ANIM_TAG_UNUSED_MUD_UNK}, - {gBattleAnimSpritePalette_115, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpritePalette_116, ANIM_TAG_UNUSED_FURY_SWIPES}, - {gBattleAnimSpritePalette_117, ANIM_TAG_UNUSED_VINE_2}, - {gBattleAnimSpritePalette_118, ANIM_TAG_UNUSED_TEETH}, - {gBattleAnimSpritePalette_119, ANIM_TAG_UNUSED_BONE}, - {gBattleAnimSpritePalette_120, ANIM_TAG_UNUSED_WHITE_BAG}, - {gBattleAnimSpritePalette_121, ANIM_TAG_UNUSED_UNKNOWN}, - {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_CORAL}, - {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_DROPLET}, - {gBattleAnimSpritePalette_124, ANIM_TAG_UNUSED_SHOCK_2}, - {gBattleAnimSpritePalette_125, ANIM_TAG_UNUSED_CLOSING_EYE_2}, - {gBattleAnimSpritePalette_126, ANIM_TAG_UNUSED_METAL_BALL}, - {gBattleAnimSpritePalette_127, ANIM_TAG_UNUSED_MONSTER_DOLL}, - {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND}, - {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND_2}, - {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_4}, - {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_5}, - {gBattleAnimSpritePalette_132, ANIM_TAG_UNUSED_TONGUE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE}, - {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE_2}, - {gBattleAnimSpritePalette_135, ANIM_TAG_IMPACT}, - {gBattleAnimSpritePalette_136, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpritePalette_135, ANIM_TAG_SCRATCH}, - {gBattleAnimSpritePalette_135, ANIM_TAG_CUT}, - {gBattleAnimSpritePalette_139, ANIM_TAG_SHARP_TEETH}, - {gBattleAnimSpritePalette_140, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_SPIKES}, - {gBattleAnimSpritePalette_143, ANIM_TAG_HANDS_AND_FEET}, - {gBattleAnimSpritePalette_144, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpritePalette_139, ANIM_TAG_CLAMP}, - {gBattleAnimSpritePalette_115, ANIM_TAG_BUBBLE}, - {gBattleAnimSpritePalette_147, ANIM_TAG_ORBS}, - {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpritePalette_150, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpritePalette_150, ANIM_TAG_TOXIC_BUBBLE}, - {gBattleAnimSpritePalette_152, ANIM_TAG_SPIKES}, - {gBattleAnimSpritePalette_153, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpritePalette_154, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpritePalette_155, ANIM_TAG_SMALL_BUBBLES}, - {gBattleAnimSpritePalette_156, ANIM_TAG_ROUND_SHADOW}, - {gBattleAnimSpritePalette_157, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpritePalette_158, ANIM_TAG_SPORE}, - {gBattleAnimSpritePalette_159, ANIM_TAG_FLOWER}, - {gBattleAnimSpritePalette_160, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpritePalette_161, ANIM_TAG_NEEDLE}, - {gBattleAnimSpritePalette_162, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpritePalette_163, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpritePalette_164, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpritePalette_165, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpritePalette_166, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpritePalette_167, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpritePalette_168, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpritePalette_169, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpritePalette_170, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpritePalette_171, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpritePalette_172, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK_H}, - {gBattleAnimSpritePalette_174, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpritePalette_175, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpritePalette_176, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpritePalette_177, ANIM_TAG_LICK}, - {gBattleAnimSpritePalette_178, ANIM_TAG_UNUSED_VOID_LINES}, - {gBattleAnimSpritePalette_179, ANIM_TAG_STRING}, - {gBattleAnimSpritePalette_179, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpritePalette_179, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpritePalette_182, ANIM_TAG_UNUSED_LIGHTBULB}, - {gBattleAnimSpritePalette_183, ANIM_TAG_SLASH}, - {gBattleAnimSpritePalette_184, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpritePalette_185, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpritePalette_186, ANIM_TAG_TENDRILS}, - {gBattleAnimSpritePalette_187, ANIM_TAG_EYE}, - {gBattleAnimSpritePalette_188, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpritePalette_189, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpritePalette_190, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpritePalette_191, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpritePalette_192, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpritePalette_193, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpritePalette_194, ANIM_TAG_MOON}, - {gBattleAnimSpritePalette_195, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpritePalette_196, ANIM_TAG_SPIRAL}, - {gBattleAnimSpritePalette_197, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpritePalette_198, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpritePalette_199, ANIM_TAG_NAIL}, - {gBattleAnimSpritePalette_200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpritePalette_201, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpritePalette_202, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpritePalette_203, ANIM_TAG_THIN_RING}, - {gBattleAnimSpritePalette_204, ANIM_TAG_UNUSED_PUNCH_IMPACT}, - {gBattleAnimSpritePalette_205, ANIM_TAG_BELL}, - {gBattleAnimSpritePalette_206, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpritePalette_207, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpritePalette_167, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpritePalette_209, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpritePalette_210, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpritePalette_211, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER_2}, - {gBattleAnimSpritePalette_215, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpritePalette_216, ANIM_TAG_RED_HEART}, - {gBattleAnimSpritePalette_217, ANIM_TAG_RED_ORB}, - {gBattleAnimSpritePalette_218, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpritePalette_219, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpritePalette_220, ANIM_TAG_ANGEL}, - {gBattleAnimSpritePalette_221, ANIM_TAG_DEVIL}, - {gBattleAnimSpritePalette_222, ANIM_TAG_SWIPE}, - {gBattleAnimSpritePalette_223, ANIM_TAG_ROOTS}, - {gBattleAnimSpritePalette_224, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpritePalette_225, ANIM_TAG_JAGGED_MUSIC_NOTE}, - {gBattleAnimSpritePalette_226, ANIM_TAG_POKEBALL}, - {gBattleAnimSpritePalette_226, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpritePalette_228, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpritePalette_229, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpritePalette_230, ANIM_TAG_TRI_FORCE_TRIANGLE}, - {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpritePalette_233, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpritePalette_234, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpritePalette_235, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpritePalette_236, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpritePalette_237, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpritePalette_238, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpritePalette_239, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpritePalette_240, ANIM_TAG_CONFETTI}, - {gBattleAnimSpritePalette_241, ANIM_TAG_GREEN_STAR}, - {gBattleAnimSpritePalette_242, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpritePalette_243, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpritePalette_244, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpritePalette_064, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpritePalette_248, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpritePalette_249, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpritePalette_249, ANIM_TAG_X_SIGN}, - {gBattleAnimSpritePalette_251, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpritePalette_252, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpritePalette_253, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpritePalette_254, ANIM_TAG_RED_BALL}, - {gBattleAnimSpritePalette_255, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpritePalette_256, ANIM_TAG_METEOR}, - {gBattleAnimSpritePalette_257, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpritePalette_258, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpritePalette_259, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpritePalette_260, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpritePalette_261, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpritePalette_262, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpritePalette_263, ANIM_TAG_HAIL}, - {gBattleAnimSpritePalette_264, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpritePalette_265, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpritePalette_266, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpritePalette_267, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePalette_268, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpritePalette_269, ANIM_TAG_UNUSED_RED_BRICK}, - {gBattleAnimSpritePalette_270, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpritePalette_271, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpritePalette_272, ANIM_TAG_SPLASH}, - {gBattleAnimSpritePalette_272, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_1}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_2}, - {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_3}, - {gBattleAnimSpritePalette_277, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpritePalette_278, ANIM_TAG_RECYCLE}, - {gBattleAnimSpritePalette_279, ANIM_TAG_UNUSED_RED_PARTICLES}, - {gBattleAnimSpritePalette_280, ANIM_TAG_PROTECT}, - {gBattleAnimSpritePalette_281, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpritePalette_282, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpritePalette_283, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpritePalette_284, ANIM_TAG_BIRD}, - {gBattleAnimSpritePalette_285, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpritePalette_286, ANIM_TAG_SLASH_2}, - {gBattleAnimSpritePalette_287, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpritePalette_288, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK}, + {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL}, + {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB}, + {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD}, + {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED}, + {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST}, + {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2}, + {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE}, + {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION}, + {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS}, + {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT}, + {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2}, + {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER}, + {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST}, + {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER}, + {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2}, + {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST}, + {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpritePal_Ring, ANIM_TAG_RING}, + {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS}, + {gBattleAnimSpritePal_Z, ANIM_TAG_Z}, + {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS}, + {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK}, + {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK}, + {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2}, + {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE}, + {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH}, + {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER}, + {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE}, + {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2}, + {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING}, + {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA}, + {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2}, + {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL}, + {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpritePal_String2, ANIM_TAG_WEB}, + {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT}, + {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND}, + {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2}, + {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH}, + {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2}, + {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL}, + {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT}, + {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT}, + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH}, + {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES}, + {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, + {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE}, + {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE}, + {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES}, + {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES}, + {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW}, + {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE}, + {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER}, + {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE}, + {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H}, + {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK}, + {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpritePal_String, ANIM_TAG_STRING}, + {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH}, + {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS}, + {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE}, + {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON}, + {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL}, + {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL}, + {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING}, + {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL}, + {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2}, + {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART}, + {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB}, + {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL}, + {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL}, + {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE}, + {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS}, + {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE}, + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL}, + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpritePal_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI}, + {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR}, + {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN}, + {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL}, + {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR}, + {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL}, + {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpritePal_Pokeblock, ANIM_TAG_POKEBLOCK}, + {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3}, + {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE}, + {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT}, + {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD}, + {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2}, + {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = { - {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00}, - {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00}, - {gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02}, - {gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10}, - {gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13}, - {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14}, - {gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15}, - {gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16}, - {gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07}, - {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08}, - {gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20}, - {gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09}, - {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05}, - {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06}, + [BG_DARK_] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost}, + [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic}, + [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests}, + [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill}, + [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests}, + [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder}, + [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent}, + [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer}, + [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests}, + [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice}, + [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic}, + [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir}, + [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill}, + [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests}, + [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora}, + [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure}, + [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_SOLARBEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_SOLARBEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests}, }; static void (* const sScriptCmdTable[])(void) = @@ -2938,7 +2936,7 @@ s8 BattleAnimAdjustPanning2(s8 pan) return pan; } -s16 KeepPanInRange(s16 panArg) +s16 KeepPanInRange(s16 panArg, int oldPan) { s16 pan = panArg; @@ -3448,5 +3446,3 @@ static void ScriptCmd_stopsound(void) m4aMPlayStop(&gMPlayInfo_SE2); sBattleAnimScriptPtr++; } - - diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index af4bc19ec..49bb0216b 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1121,8 +1121,8 @@ const union AnimCmd *const gUnknown_08592918[] = const struct SpriteTemplate gUnknown_0859291C = { - .tileTag = ANIM_TAG_UNUSED_HIT, - .paletteTag = ANIM_TAG_UNUSED_HIT, + .tileTag = ANIM_TAG_HIT, + .paletteTag = ANIM_TAG_HIT, .oam = &gUnknown_08524914, .anims = gUnknown_08592918, .images = NULL, @@ -1132,8 +1132,8 @@ const struct SpriteTemplate gUnknown_0859291C = const struct SpriteTemplate gUnknown_08592934 = { - .tileTag = ANIM_TAG_UNUSED_HIT_2, - .paletteTag = ANIM_TAG_UNUSED_HIT_2, + .tileTag = ANIM_TAG_HIT_2, + .paletteTag = ANIM_TAG_HIT_2, .oam = &gUnknown_08524914, .anims = gUnknown_08592918, .images = NULL, @@ -1442,8 +1442,8 @@ const union AnimCmd *const gUnknown_08592BF4[] = const struct SpriteTemplate gUnknown_08592BFC = { - .tileTag = ANIM_TAG_UNUSED_BUBBLE_BURST, - .paletteTag = ANIM_TAG_UNUSED_BUBBLE_BURST, + .tileTag = ANIM_TAG_BUBBLE_BURST, + .paletteTag = ANIM_TAG_BUBBLE_BURST, .oam = &gUnknown_0852490C, .anims = gUnknown_08592BF4, .images = NULL, diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index e3295acb8..65cc55604 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -189,8 +189,8 @@ const union AffineAnimCmd *const gUnknown_08593300[] = const struct SpriteTemplate gUnknown_08593304 = { - .tileTag = ANIM_TAG_UNUSED_EXPLOSION, - .paletteTag = ANIM_TAG_UNUSED_EXPLOSION, + .tileTag = ANIM_TAG_EXPLOSION_6, + .paletteTag = ANIM_TAG_EXPLOSION_6, .oam = &gUnknown_08524974, .anims = gUnknown_085932E4, .images = NULL, @@ -359,8 +359,8 @@ const struct SpriteTemplate gUnknown_08593488 = const struct SpriteTemplate gUnknown_085934A0 = { - .tileTag = ANIM_TAG_UNUSED_VOID_LINES, - .paletteTag = ANIM_TAG_UNUSED_VOID_LINES, + .tileTag = ANIM_TAG_VOID_LINES, + .paletteTag = ANIM_TAG_VOID_LINES, .oam = &gUnknown_08524A3C, .anims = gDummySpriteAnimTable, .images = NULL, @@ -1734,90 +1734,25 @@ void sub_8103FE8(struct Sprite *sprite) sprite->callback = sub_8104018; } -#ifdef NONMATCHING static void sub_8104018(struct Sprite *sprite) { - u16 r7; - u16 r5; + u16 id, val; int i; + if (++sprite->data[1] == 2) { sprite->data[1] = 0; - r5 = sprite->data[0]; - r7 = gPlttBufferFaded[8 + r5]; - for (i = 0; i < 8; i++) - { - gPlttBufferFaded[i + r5 + 8] = gPlttBufferFaded[i + r5 + 9]; - } - gPlttBufferFaded[r5 + 15] = r7; + id = sprite->data[0]; + val = gPlttBufferFaded[8 + id]; + for (i = 8; i < 16; i++) + gPlttBufferFaded[i + id] = gPlttBufferFaded[i + id + 1]; + + gPlttBufferFaded[id + 15] = val; if (++sprite->data[2] == 24) DestroyAnimSprite(sprite); } } -#else -NAKED -static void sub_8104018(struct Sprite *sprite) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - adds r4, r0, 0\n\ - ldrh r0, [r4, 0x30]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x30]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x2\n\ - bne _0810407C\n\ - movs r0, 0\n\ - strh r0, [r4, 0x30]\n\ - ldrh r5, [r4, 0x2E]\n\ - ldr r1, =gPlttBufferFaded\n\ - adds r0, r5, 0\n\ - adds r0, 0x8\n\ - lsls r0, 1\n\ - adds r0, r1 \n\ - ldrh r7, [r0]\n\ - adds r6, r1, 0\n\ - adds r1, r5, 0\n\ - adds r1, 0x9\n\ - lsls r0, r5, 1\n\ - adds r0, r6\n\ - adds r2, r0, 0\n\ - adds r2, 0x10\n\ - movs r3, 0x7\n\ - lsls r1, 1\n\ - adds r1, r6\n\ -_08104050:\n\ - ldrh r0, [r1]\n\ - strh r0, [r2]\n\ - adds r1, 0x2\n\ - adds r2, 0x2\n\ - subs r3, 0x1\n\ - cmp r3, 0\n\ - bge _08104050\n\ - adds r0, r5, 0\n\ - adds r0, 0xF\n\ - lsls r0, 1\n\ - adds r0, r6\n\ - strh r7, [r0]\n\ - ldrh r0, [r4, 0x32]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x32]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x18\n\ - bne _0810407C\n\ - adds r0, r4, 0\n\ - bl DestroyAnimSprite\n\ -_0810407C:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ -.syntax divided\n"); -} -#endif void sub_8104088(struct Sprite *sprite) { @@ -3067,7 +3002,7 @@ void sub_8105CB4(u8 taskId) paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i); gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); - LZDecompressWram(gBattleAnimSpritePalette_206, gMonSpritesGfxPtr->field_17C); + LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->field_17C); for (i = 0; i < 3; i++) LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); @@ -3381,11 +3316,11 @@ void sub_81064F8(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); if (IsContest()) - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceContest, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0); else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFacePlayer, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0); else - sub_80A6D60(&animBg, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0); + sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset); LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index efa2620fd..ab765b8c1 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -4,7 +4,7 @@ #include "battle_anim.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "gpu_regs.h" @@ -25,8 +25,6 @@ #include "constants/weather.h" extern const struct SpriteTemplate gUnknown_08593114; -extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; void sub_815A0D4(struct Sprite *); void sub_815A1B0(struct Sprite *); diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 372377a0c..c6058204d 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -3,7 +3,7 @@ #include "battle_anim.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "gpu_regs.h" @@ -27,11 +27,6 @@ #define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) extern const struct OamData gUnknown_0852497C; -extern const struct MonCoords gMonFrontPicCoords[]; -extern const struct MonCoords gMonBackPicCoords[]; -extern const u8 gEnemyMonElevation[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const union AffineAnimCmd *gUnknown_082FF6C0[]; static void sub_80A6FB4(struct Sprite *sprite); static void sub_80A7144(struct Sprite *sprite); diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index e5f0cd165..573feb41c 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -53,7 +53,7 @@ static void sub_8158B98(u8 taskId) PlaySE12WithPanning(gTasks[taskId].data[0], pan); } pan += panIncrement; - gTasks[taskId].data[2] = KeepPanInRange(pan); + gTasks[taskId].data[2] = KeepPanInRange(pan, panIncrement); } } @@ -116,9 +116,12 @@ static void sub_8158D08(u8 taskId) if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5]) { + u16 dPan, oldPan; gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11] += gTasks[taskId].data[3]; - gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11]); + dPan = gTasks[taskId].data[3]; + oldPan = gTasks[taskId].data[11] ; + gTasks[taskId].data[11] = dPan + oldPan; + gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } } // task end @@ -368,71 +371,21 @@ void sub_8159278(u8 taskId) sub_8159308(taskId); } -#ifdef NONMATCHING void sub_8159308(u8 taskId) { - s16 panIncrement = gTasks[taskId].data[3]; + u16 panIncrement = gTasks[taskId].data[3]; if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5]) { + u16 oldPan; gTasks[taskId].data[10] = 0; - - gTasks[taskId].data[11] += panIncrement; - gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11]); + oldPan = gTasks[taskId].data[11]; + gTasks[taskId].data[11] = panIncrement + oldPan; + gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } gUnknown_02038440 = gTasks[taskId].data[11]; if (gTasks[taskId].data[11] == gTasks[taskId].data[2]) DestroyAnimVisualTask(taskId); } -#else -NAKED -void sub_8159308(u8 taskId) -{ - asm_unified(" push {r4,r5,lr}\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r5, r0, 0\n\ - ldr r1, =gTasks\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r4, r0, r1\n\ - ldrh r2, [r4, 0xE]\n\ - ldrh r0, [r4, 0x1C]\n\ - adds r1, r0, 0x1\n\ - strh r1, [r4, 0x1C]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r3, 0x12\n\ - ldrsh r1, [r4, r3]\n\ - cmp r0, r1\n\ - bne _08159342\n\ - movs r0, 0\n\ - strh r0, [r4, 0x1C]\n\ - ldrh r1, [r4, 0x1E]\n\ - adds r0, r2, r1\n\ - strh r0, [r4, 0x1E]\n\ - movs r2, 0x1E\n\ - ldrsh r0, [r4, r2]\n\ - bl KeepPanInRange\n\ - strh r0, [r4, 0x1E]\n\ -_08159342:\n\ - ldr r1, =gUnknown_02038440\n\ - ldrh r0, [r4, 0x1E]\n\ - strb r0, [r1]\n\ - movs r3, 0x1E\n\ - ldrsh r1, [r4, r3]\n\ - movs r2, 0xC\n\ - ldrsh r0, [r4, r2]\n\ - cmp r1, r0\n\ - bne _0815935A\n\ - adds r0, r5, 0\n\ - bl DestroyAnimVisualTask\n\ -_0815935A:\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif + diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 92874fe09..740340d14 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -16,9 +16,10 @@ #include "task.h" #include "trig.h" #include "util.h" -#include "constants/rgb.h" #include "constants/items.h" +#include "constants/moves.h" #include "constants/songs.h" +#include "constants/rgb.h" // iwram int gUnknown_030062DC; @@ -103,39 +104,52 @@ static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] = }, }; -const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] = -{ - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EC}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6ED}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EE}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EF}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F0}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F1}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F2}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F3}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F4}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F5}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F6}, - {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F7}, +#define TAG_PARTICLES_POKEBALL 55020 +#define TAG_PARTICLES_GREATBALL 55021 +#define TAG_PARTICLES_SAFARIBALL 55022 +#define TAG_PARTICLES_ULTRABALL 55023 +#define TAG_PARTICLES_MASTERBALL 55024 +#define TAG_PARTICLES_NETBALL 55025 +#define TAG_PARTICLES_DIVEBALL 55026 +#define TAG_PARTICLES_NESTBALL 55027 +#define TAG_PARTICLES_REPEATBALL 55028 +#define TAG_PARTICLES_TIMERBALL 55029 +#define TAG_PARTICLES_LUXURYBALL 55030 +#define TAG_PARTICLES_PREMIERBALL 55031 + +const struct CompressedSpriteSheet gBallParticleSpritesheets[] = +{ + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_SAFARIBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_ULTRABALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_MASTERBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NETBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_DIVEBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_NESTBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_REPEATBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_TIMERBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_LUXURYBALL}, + {gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL}, }; -const struct CompressedSpritePalette gBallOpenParticlePalettes[] = -{ - {gBattleAnimSpritePalette_136, 0xD6EC}, - {gBattleAnimSpritePalette_136, 0xD6ED}, - {gBattleAnimSpritePalette_136, 0xD6EE}, - {gBattleAnimSpritePalette_136, 0xD6EF}, - {gBattleAnimSpritePalette_136, 0xD6F0}, - {gBattleAnimSpritePalette_136, 0xD6F1}, - {gBattleAnimSpritePalette_136, 0xD6F2}, - {gBattleAnimSpritePalette_136, 0xD6F3}, - {gBattleAnimSpritePalette_136, 0xD6F4}, - {gBattleAnimSpritePalette_136, 0xD6F5}, - {gBattleAnimSpritePalette_136, 0xD6F6}, - {gBattleAnimSpritePalette_136, 0xD6F7}, +const struct CompressedSpritePalette gBallParticlePalettes[] = +{ + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_SAFARIBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_ULTRABALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_MASTERBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NETBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_DIVEBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_NESTBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_REPEATBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_TIMERBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_LUXURYBALL}, + {gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL}, }; -const union AnimCmd gUnknown_085E5154[] = +const union AnimCmd gAnim_RegularBall[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -146,64 +160,64 @@ const union AnimCmd gUnknown_085E5154[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085E5170[] = +const union AnimCmd gAnim_MasterBall[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085E5178[] = +const union AnimCmd gAnim_NetDiveBall[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085E5180[] = +const union AnimCmd gAnim_NestBall[] = { ANIMCMD_FRAME(5, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085E5188[] = +const union AnimCmd gAnim_LuxuryPremierBall[] = { ANIMCMD_FRAME(6, 4), ANIMCMD_FRAME(7, 4), ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085E5194[] = +const union AnimCmd gAnim_UltraRepeatTimerBall[] = { ANIMCMD_FRAME(7, 4), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085E519C[] = +const union AnimCmd *const gAnims_BallParticles[] = { - gUnknown_085E5154, - gUnknown_085E5170, - gUnknown_085E5178, - gUnknown_085E5180, - gUnknown_085E5188, - gUnknown_085E5194, + gAnim_RegularBall, + gAnim_MasterBall, + gAnim_NetDiveBall, + gAnim_NestBall, + gAnim_LuxuryPremierBall, + gAnim_UltraRepeatTimerBall, }; -const u8 gBallOpenParticleAnimNums[] = -{ - 0, - 0, - 0, - 5, - 1, - 2, - 2, - 3, - 5, - 5, - 4, - 4, +const u8 gBallParticleAnimNums[] = +{ + [BALL_POKE] = 0, + [BALL_GREAT] = 0, + [BALL_SAFARI] = 0, + [BALL_ULTRA] = 5, + [BALL_MASTER] = 1, + [BALL_NET] = 2, + [BALL_DIVE] = 2, + [BALL_NEST] = 3, + [BALL_REPEAT] = 5, + [BALL_TIMER] = 5, + [BALL_LUXURY] = 4, + [BALL_PREMIER] = 4, }; -const TaskFunc gBallOpenParticleAnimationFuncs[] = +const TaskFunc gBallParticleAnimationFuncs[] = { PokeBallOpenParticleAnimation, GreatBallOpenParticleAnimation, @@ -219,132 +233,134 @@ const TaskFunc gBallOpenParticleAnimationFuncs[] = PremierBallOpenParticleAnimation, }; -const struct SpriteTemplate gUnknown_085E51F0[] = +const struct SpriteTemplate gBallParticlesSpriteTemplates[] = { { - .tileTag = 55020, - .paletteTag = 55020, + .tileTag = TAG_PARTICLES_POKEBALL, + .paletteTag = TAG_PARTICLES_POKEBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55021, - .paletteTag = 55021, + .tileTag = TAG_PARTICLES_GREATBALL, + .paletteTag = TAG_PARTICLES_GREATBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55022, - .paletteTag = 55022, + .tileTag = TAG_PARTICLES_SAFARIBALL, + .paletteTag = TAG_PARTICLES_SAFARIBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55023, - .paletteTag = 55023, + .tileTag = TAG_PARTICLES_ULTRABALL, + .paletteTag = TAG_PARTICLES_ULTRABALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55024, - .paletteTag = 55024, + .tileTag = TAG_PARTICLES_MASTERBALL, + .paletteTag = TAG_PARTICLES_MASTERBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55025, - .paletteTag = 55025, + .tileTag = TAG_PARTICLES_NETBALL, + .paletteTag = TAG_PARTICLES_NETBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55026, - .paletteTag = 55026, + .tileTag = TAG_PARTICLES_DIVEBALL, + .paletteTag = TAG_PARTICLES_DIVEBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55027, - .paletteTag = 55027, + .tileTag = TAG_PARTICLES_NESTBALL, + .paletteTag = TAG_PARTICLES_NESTBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55028, - .paletteTag = 55028, + .tileTag = TAG_PARTICLES_REPEATBALL, + .paletteTag = TAG_PARTICLES_REPEATBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55029, - .paletteTag = 55029, + .tileTag = TAG_PARTICLES_TIMERBALL, + .paletteTag = TAG_PARTICLES_TIMERBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55030, - .paletteTag = 55030, + .tileTag = TAG_PARTICLES_LUXURYBALL, + .paletteTag = TAG_PARTICLES_LUXURYBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, { - .tileTag = 55031, - .paletteTag = 55031, + .tileTag = TAG_PARTICLES_PREMIERBALL, + .paletteTag = TAG_PARTICLES_PREMIERBALL, .oam = &gUnknown_08524904, - .anims = gUnknown_085E519C, + .anims = gAnims_BallParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }, }; -const u16 gUnknown_085E5310[] = -{ - RGB(31, 22, 30), - RGB(16, 23, 30), - RGB(23, 30, 20), - RGB(31, 31, 15), - RGB(23, 20, 28), - RGB(21, 31, 25), - RGB(12, 25, 30), - RGB(30, 27, 10), - RGB(31, 24, 16), - RGB(29, 30, 30), - RGB(31, 17, 10), - RGB(31, 9, 10), +const u16 gBallOpenFadeColors[] = +{ + [BALL_POKE] = RGB(31, 22, 30), + [BALL_GREAT] = RGB(16, 23, 30), + [BALL_SAFARI] = RGB(23, 30, 20), + [BALL_ULTRA] = RGB(31, 31, 15), + [BALL_MASTER] = RGB(23, 20, 28), + [BALL_NET] = RGB(21, 31, 25), + [BALL_DIVE] = RGB(12, 25, 30), + [BALL_NEST] = RGB(30, 27, 10), + [BALL_REPEAT] = RGB(31, 24, 16), + [BALL_TIMER] = RGB(29, 30, 30), + [BALL_LUXURY] = RGB(31, 17, 10), + [BALL_PREMIER] = RGB(31, 9, 10), + + // Garbage data RGB(0, 0, 0), RGB(1, 16, 0), RGB(3, 0, 1), @@ -355,10 +371,10 @@ const u16 gUnknown_085E5310[] = RGB(4, 0, 0), }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85E5338 = +const struct SpriteTemplate gPokeblockSpriteTemplate = { - .tileTag = ANIM_TAG_UNUSED_RED_BRICK, - .paletteTag = ANIM_TAG_UNUSED_RED_BRICK, + .tileTag = ANIM_TAG_POKEBLOCK, + .paletteTag = ANIM_TAG_POKEBLOCK, .oam = &gUnknown_0852490C, .anims = gDummySpriteAnimTable, .images = NULL, @@ -675,9 +691,9 @@ void sub_8170D24(u8 taskId) void AnimTask_IsBallBlockedByTrainer(u8 taskId) { if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK) - gBattleAnimArgs[7] = -1; + gBattleAnimArgs[ARG_RET_ID] = -1; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = 0; DestroyAnimVisualTask(taskId); } @@ -687,30 +703,30 @@ u8 ItemIdToBallId(u16 ballItem) switch (ballItem) { case ITEM_MASTER_BALL: - return 4; + return BALL_MASTER; case ITEM_ULTRA_BALL: - return 3; + return BALL_ULTRA; case ITEM_GREAT_BALL: - return 1; + return BALL_GREAT; case ITEM_SAFARI_BALL: - return 2; + return BALL_SAFARI; case ITEM_NET_BALL: - return 5; + return BALL_NET; case ITEM_DIVE_BALL: - return 6; + return BALL_DIVE; case ITEM_NEST_BALL: - return 7; + return BALL_NEST; case ITEM_REPEAT_BALL: - return 8; + return BALL_REPEAT; case ITEM_TIMER_BALL: - return 9; + return BALL_TIMER; case ITEM_LUXURY_BALL: - return 10; + return BALL_LUXURY; case ITEM_PREMIER_BALL: - return 11; + return BALL_PREMIER; case ITEM_POKE_BALL: default: - return 0; + return BALL_POKE; } } @@ -804,7 +820,6 @@ static void sub_8171134(struct Sprite *sprite) { int i; u8 ballId; - int ballId2; // extra var needed to match if (TranslateAnimHorizontalArc(sprite)) { @@ -825,15 +840,15 @@ static void sub_8171134(struct Sprite *sprite) sprite->data[5] = 0; sprite->callback = sub_81711E8; + ballId = ItemIdToBallId(gLastUsedItem); - ballId2 = ballId; - if (ballId2 > 11) - return; - if (ballId2 < 0) - return; - - AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); - LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId); + switch (ballId) + { + case 0 ... POKEBALL_COUNT - 1: + AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); + LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId); + break; + } } } } @@ -1259,7 +1274,7 @@ static void sub_81719EC(struct Sprite *sprite) sub_8171D60(4); for (i = 0; i < 3; i++) { - u8 spriteId = CreateSprite(&gUnknown_085E51F0[4], sprite->pos1.x, sprite->pos1.y, subpriority); + u8 spriteId = CreateSprite(&gBallParticlesSpriteTemplates[4], sprite->pos1.x, sprite->pos1.y, subpriority); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = 24; @@ -1268,7 +1283,7 @@ static void sub_81719EC(struct Sprite *sprite) gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2; InitAnimArcTranslation(&gSprites[spriteId]); gSprites[spriteId].callback = sub_8171AAC; - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[4]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[4]); } } } @@ -1280,28 +1295,23 @@ static void sub_8171AAC(struct Sprite *sprite) DestroySprite(sprite); } -// fakematching. I think the return type of ItemIdToBallId() -// is wrong because of the weird required casting. static void sub_8171AE4(struct Sprite *sprite) { u8 ballId; - int ballId2; // extra var needed to match StartSpriteAnim(sprite, 1); StartSpriteAffineAnim(sprite, 0); sprite->callback = sub_8171BAC; ballId = ItemIdToBallId(gLastUsedItem); - ballId2 = ballId; - if (ballId2 > 11) - goto LABEL; - if (ballId2 < 0) - goto LABEL; - - AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); - LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId); + switch (ballId) + { + case 0 ... POKEBALL_COUNT - 1: + AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); + LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId); + break; + } - LABEL: gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = 0; StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1); AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]); @@ -1314,7 +1324,7 @@ static void sub_8171BAC(struct Sprite *sprite) if (sprite->animEnded) sprite->invisible = 1; - + if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded) { StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0); @@ -1323,7 +1333,7 @@ static void sub_8171BAC(struct Sprite *sprite) else { gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288; - gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8; } if (sprite->animEnded && next) @@ -1374,10 +1384,10 @@ static void sub_8171D60(u8 ballId) { u8 taskId; - if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF) + if (GetSpriteTileStartByTag(gBallParticleSpritesheets[ballId].tag) == 0xFFFF) { - LoadCompressedSpriteSheetUsingHeap(&gBallOpenParticleSpritesheets[ballId]); - LoadCompressedSpritePaletteUsingHeap(&gBallOpenParticlePalettes[ballId]); + LoadCompressedSpriteSheetUsingHeap(&gBallParticleSpritesheets[ballId]); + LoadCompressedSpritePaletteUsingHeap(&gBallParticlePalettes[ballId]); } } @@ -1386,7 +1396,7 @@ u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId) u8 taskId; sub_8171D60(ballId); - taskId = CreateTask(gBallOpenParticleAnimationFuncs[ballId], 5); + taskId = CreateTask(gBallParticleAnimationFuncs[ballId], 5); gTasks[taskId].data[1] = x; gTasks[taskId].data[2] = y; gTasks[taskId].data[3] = priority; @@ -1419,11 +1429,11 @@ static void PokeBallOpenParticleAnimation(u8 taskId) priority = gTasks[taskId].data[3]; subpriority = gTasks[taskId].data[4]; - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1; gSprites[spriteId].oam.priority = priority; @@ -1478,11 +1488,11 @@ static void TimerBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1512,11 +1522,11 @@ static void DiveBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1547,11 +1557,11 @@ static void SafariBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1582,11 +1592,11 @@ static void UltraBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 10; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 25; @@ -1623,11 +1633,11 @@ static void GreatBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1671,13 +1681,13 @@ static void RepeatBallOpenParticleAnimation(u8 taskId) priority = gTasks[taskId].data[3]; subpriority = gTasks[taskId].data[4]; - for (i = 0; i < 12; i++) + for (i = 0; i < POKEBALL_COUNT; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 21; @@ -1717,11 +1727,11 @@ static void MasterBallOpenParticleAnimation(u8 taskId) { for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = FanOutBallOpenParticles_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1761,11 +1771,11 @@ static void PremierBallOpenParticleAnimation(u8 taskId) for (i = 0; i < 8; i++) { - spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority); + spriteId = CreateSprite(&gBallParticlesSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) { sub_8171E20(); - StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]); + StartSpriteAnim(&gSprites[spriteId], gBallParticleAnimNums[ballId]); gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1; gSprites[spriteId].oam.priority = priority; gSprites[spriteId].data[0] = i * 32; @@ -1792,12 +1802,10 @@ static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite) static void DestroyBallOpenAnimationParticle(struct Sprite *sprite) { int i, j; - int temp; if (!gMain.inBattle) { - temp = sprite->data[7]; // temp var needed to match - if (temp == 1) + if (sprite->data[7] == 1) DestroySpriteAndFreeResources(sprite); else DestroySprite(sprite); @@ -1807,18 +1815,18 @@ static void DestroyBallOpenAnimationParticle(struct Sprite *sprite) gBattleSpritesDataPtr->animationData->field_A--; if (gBattleSpritesDataPtr->animationData->field_A == 0) { - for (i = 0; i < 12; i++) + for (i = 0; i < POKEBALL_COUNT; i++) { - if (FuncIsActiveTask(gBallOpenParticleAnimationFuncs[i]) == TRUE) + if (FuncIsActiveTask(gBallParticleAnimationFuncs[i]) == TRUE) break; } - if (i == 12) + if (i == POKEBALL_COUNT) { - for (j = 0; j < 12; j++) + for (j = 0; j < POKEBALL_COUNT; j++) { - FreeSpriteTilesByTag(gBallOpenParticleSpritesheets[j].tag); - FreeSpritePaletteByTag(gBallOpenParticlePalettes[j].tag); + FreeSpriteTilesByTag(gBallParticleSpritesheets[j].tag); + FreeSpritePaletteByTag(gBallParticlePalettes[j].tag); } } @@ -1843,12 +1851,12 @@ u8 LaunchBallFadeMonTask(u8 unfadeLater, u8 battler, u32 selectedPalettes, u8 ba if (!unfadeLater) { - BlendPalette(battler * 16 + 0x100, 16, 0, gUnknown_085E5310[ballId]); + BlendPalette(battler * 16 + 0x100, 16, 0, gBallOpenFadeColors[ballId]); gTasks[taskId].data[1] = 1; } else { - BlendPalette(battler * 16 + 0x100, 16, 16, gUnknown_085E5310[ballId]); + BlendPalette(battler * 16 + 0x100, 16, 16, gBallOpenFadeColors[ballId]); gTasks[taskId].data[0] = 16; gTasks[taskId].data[1] = -1; gTasks[taskId].func = sub_8172B40; @@ -1864,7 +1872,7 @@ static void sub_8172AB0(u8 taskId) if (gTasks[taskId].data[2] <= 16) { - BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]); + BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gBallOpenFadeColors[ballId]); gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[2]++; } @@ -1892,7 +1900,7 @@ static void sub_8172B90(u8 taskId) if (gTasks[taskId].data[2] <= 16) { - BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]); + BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gBallOpenFadeColors[ballId]); gTasks[taskId].data[0] += gTasks[taskId].data[1]; gTasks[taskId].data[2]++; } @@ -1906,9 +1914,8 @@ void sub_8172BF0(u8 taskId) { u8 spriteId; u32 x; - u32 done; - - done = FALSE; + u32 done = FALSE; + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; switch (gTasks[taskId].data[10]) { @@ -1942,8 +1949,7 @@ void sub_8172BF0(u8 taskId) if (gSprites[spriteId].pos2.x <= 0) { gSprites[spriteId].pos2.x = 0; - // done = FALSE; // fakematching--can't get the tail merge correct - goto DONE; + done = TRUE; } } else @@ -1956,10 +1962,8 @@ void sub_8172BF0(u8 taskId) } if (done) - { - DONE: DestroyAnimVisualTask(taskId); - } + break; } } @@ -1998,13 +2002,13 @@ void sub_8172D98(u8 taskId) } } -void sub_8172E9C(u8 taskId) +void AnimTask_IsAttackerBehindSubstitute(u8 taskId) { - gBattleAnimArgs[7] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].behindSubstitute; + gBattleAnimArgs[ARG_RET_ID] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].behindSubstitute; DestroyAnimVisualTask(taskId); } -void sub_8172ED0(u8 taskId) +void AnimTask_TargetToEffectBattler(u8 taskId) { gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); @@ -2030,10 +2034,10 @@ void sub_8172EF0(u8 battler, struct Pokemon *mon) if (isShiny) { - if (GetSpriteTileStartByTag(0x27F9) == 0xFFFF) + if (GetSpriteTileStartByTag(ANIM_TAG_GOLD_STARS) == 0xFFFF) { - LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[233]); - LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[233]); + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[ANIM_TAG_GOLD_STARS - ANIM_SPRITES_START]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[ANIM_TAG_GOLD_STARS - ANIM_SPRITES_START]); } taskId1 = CreateTask(sub_8172FEC, 10); @@ -2063,7 +2067,7 @@ static void sub_8172FEC(u8 taskId) gTasks[taskId].data[13]++; return; } - + if (gBattleSpritesDataPtr->animationData->field_A) return; @@ -2103,7 +2107,7 @@ static void sub_8172FEC(u8 taskId) if (gTasks[taskId].data[11] == 0) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) - pan = 192; + pan = -64; else pan = 63; @@ -2169,20 +2173,20 @@ static void sub_8173250(struct Sprite *sprite) } } -void sub_81732B0(u8 taskId) +void AnimTask_LoadPokeblockGfx(u8 taskId) { u8 paletteIndex; - LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[269]); - LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[269]); - paletteIndex = IndexOfSpritePaletteTag(0x281D); // unused + LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[ANIM_TAG_POKEBLOCK - ANIM_SPRITES_START]); + LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[ANIM_TAG_POKEBLOCK - ANIM_SPRITES_START]); + paletteIndex = IndexOfSpritePaletteTag(ANIM_TAG_POKEBLOCK); // unused DestroyAnimVisualTask(taskId); } -void sub_81732E4(u8 taskId) +void AnimTask_FreePokeblockGfx(u8 taskId) { - FreeSpriteTilesByTag(0x281D); - FreeSpritePaletteByTag(0x281D); + FreeSpriteTilesByTag(ANIM_TAG_POKEBLOCK); + FreeSpritePaletteByTag(ANIM_TAG_POKEBLOCK); DestroyAnimVisualTask(taskId); } @@ -2245,21 +2249,21 @@ void sub_817345C(u8 taskId) void AnimTask_GetTrappedMoveAnimId(u8 taskId) { - if (gBattleSpritesDataPtr->animationData->animArg == 83) - gBattleAnimArgs[0] = 1; - else if (gBattleSpritesDataPtr->animationData->animArg == 250) - gBattleAnimArgs[0] = 2; - else if (gBattleSpritesDataPtr->animationData->animArg == 128) - gBattleAnimArgs[0] = 3; - else if (gBattleSpritesDataPtr->animationData->animArg == 328) - gBattleAnimArgs[0] = 4; + if (gBattleSpritesDataPtr->animationData->animArg == MOVE_FIRE_SPIN) + gBattleAnimArgs[0] = TRAP_ANIM_FIRE_SPIN; + else if (gBattleSpritesDataPtr->animationData->animArg == MOVE_WHIRLPOOL) + gBattleAnimArgs[0] = TRAP_ANIM_WHIRLPOOL; + else if (gBattleSpritesDataPtr->animationData->animArg == MOVE_CLAMP) + gBattleAnimArgs[0] = TRAP_ANIM_CLAMP; + else if (gBattleSpritesDataPtr->animationData->animArg == MOVE_SAND_TOMB) + gBattleAnimArgs[0] = TRAP_ANIM_SAND_TOMB; else - gBattleAnimArgs[0] = 0; + gBattleAnimArgs[0] = TRAP_ANIM_BIND; DestroyAnimVisualTask(taskId); } -void sub_817351C(u8 taskId) +void AnimTask_GetBattlersFromArg(u8 taskId) { gBattleAnimAttacker = gBattleSpritesDataPtr->animationData->animArg; gBattleAnimTarget = gBattleSpritesDataPtr->animationData->animArg >> 8; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 1271680e0..7ed78ea9a 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -44,8 +44,8 @@ static const union AnimCmd *const sSpriteAnimTable_853EDF8[] = const struct SpriteTemplate gUnknown_0853EDFC = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_0852490C, .anims = sSpriteAnimTable_853EDF8, .images = NULL, @@ -55,8 +55,8 @@ const struct SpriteTemplate gUnknown_0853EDFC = const struct SpriteTemplate gUnknown_0853EE14 = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_0852490C, .anims = sSpriteAnimTable_853EDF8, .images = NULL, @@ -125,8 +125,8 @@ const struct SpriteTemplate gUnknown_0853EE84 = const struct SpriteTemplate gUnknown_0853EE9C = { - .tileTag = ANIM_TAG_UNUSED_MONSTER_FOOT, - .paletteTag = ANIM_TAG_UNUSED_MONSTER_FOOT, + .tileTag = ANIM_TAG_MONSTER_FOOT, + .paletteTag = ANIM_TAG_MONSTER_FOOT, .oam = &gUnknown_08524914, .anims = gDummySpriteAnimTable, .images = NULL, @@ -195,8 +195,8 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] = const struct SpriteTemplate gUnknown_0853EF18 = { - .tileTag = ANIM_TAG_UNUSED_ORB, - .paletteTag = ANIM_TAG_UNUSED_ORB, + .tileTag = ANIM_TAG_ORB, + .paletteTag = ANIM_TAG_ORB, .oam = &gUnknown_085249CC, .anims = sSpriteAnimTable_853EEF8, .images = NULL, diff --git a/src/battle_bg.c b/src/battle_bg.c index 814e8dad9..a08873857 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -5,6 +5,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "bg.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" @@ -597,6 +598,7 @@ const struct WindowTemplate * const gBattleWindowTemplates[] = static const struct BattleBackground gBattleTerrainTable[] = { + [BATTLE_TERRAIN_GRASS] = { .tileset = gBattleTerrainTiles_TallGrass, .tilemap = gBattleTerrainTilemap_TallGrass, @@ -604,6 +606,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_TallGrass, .palette = gBattleTerrainPalette_TallGrass, }, + + [BATTLE_TERRAIN_LONG_GRASS] = { .tileset = gBattleTerrainTiles_LongGrass, .tilemap = gBattleTerrainTilemap_LongGrass, @@ -611,6 +615,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_LongGrass, .palette = gBattleTerrainPalette_LongGrass, }, + + [BATTLE_TERRAIN_SAND] = { .tileset = gBattleTerrainTiles_Sand, .tilemap = gBattleTerrainTilemap_Sand, @@ -618,6 +624,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Sand, .palette = gBattleTerrainPalette_Sand, }, + + [BATTLE_TERRAIN_UNDERWATER] = { .tileset = gBattleTerrainTiles_Underwater, .tilemap = gBattleTerrainTilemap_Underwater, @@ -625,6 +633,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Underwater, .palette = gBattleTerrainPalette_Underwater, }, + + [BATTLE_TERRAIN_WATER] = { .tileset = gBattleTerrainTiles_Water, .tilemap = gBattleTerrainTilemap_Water, @@ -632,6 +642,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Water, .palette = gBattleTerrainPalette_Water, }, + + [BATTLE_TERRAIN_POND] = { .tileset = gBattleTerrainTiles_PondWater, .tilemap = gBattleTerrainTilemap_PondWater, @@ -639,6 +651,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_PondWater, .palette = gBattleTerrainPalette_PondWater, }, + + [BATTLE_TERRAIN_MOUNTAIN] = { .tileset = gBattleTerrainTiles_Rock, .tilemap = gBattleTerrainTilemap_Rock, @@ -646,6 +660,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Rock, .palette = gBattleTerrainPalette_Rock, }, + + [BATTLE_TERRAIN_CAVE] = { .tileset = gBattleTerrainTiles_Cave, .tilemap = gBattleTerrainTilemap_Cave, @@ -653,6 +669,8 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Cave, .palette = gBattleTerrainPalette_Cave, }, + + [BATTLE_TERRAIN_BUILDING] = { .tileset = gBattleTerrainTiles_Building, .tilemap = gBattleTerrainTilemap_Building, @@ -660,7 +678,9 @@ static const struct BattleBackground gBattleTerrainTable[] = .entryTilemap = gBattleTerrainAnimTilemap_Building, .palette = gBattleTerrainPalette_Building, }, - {// plain + + [BATTLE_TERRAIN_PLAIN] = + { .tileset = gBattleTerrainTiles_Building, .tilemap = gBattleTerrainTilemap_Building, .entryTileset = gBattleTerrainAnimTiles_Building, diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 23d469c27..3fb5da9dc 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "main.h" #include "m4a.h" @@ -31,8 +31,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void LinkOpponentHandleGetMonData(void); static void LinkOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 22633c5bc..6fc73a604 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "main.h" #include "m4a.h" @@ -29,9 +29,6 @@ #include "constants/trainers.h" #include "recorded_battle.h" -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void LinkPartnerHandleGetMonData(void); static void LinkPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 7d940cb89..392811327 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -10,7 +10,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "frontier_util.h" #include "item.h" #include "link.h" @@ -36,8 +36,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void OpponentHandleGetMonData(void); static void OpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b377ecf64..e4b5b5c18 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -9,7 +9,7 @@ #include "battle_setup.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item.h" #include "item_menu.h" #include "link.h" @@ -33,12 +33,10 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/rgb.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void PlayerHandleGetMonData(void); static void PlayerHandleSetMonData(void); @@ -2408,7 +2406,7 @@ static void PlayerHandleFaintAnimation(void) static void PlayerHandlePaletteFade(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK); PlayerBufferExecCompleted(); } @@ -2630,7 +2628,7 @@ static void PlayerHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem; gBattlerInMenuId = gActiveBattler; @@ -2657,7 +2655,7 @@ static void PlayerHandleChoosePokemon(void) *(&gBattleStruct->battlerPreventingSwitchout) = gBattleBufferA[gActiveBattler][1] >> 4; *(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2]; *(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3]; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon; gBattlerInMenuId = gActiveBattler; } @@ -2666,7 +2664,7 @@ static void PlayerHandleChoosePokemon(void) static void PlayerHandleCmd23(void) { BattleStopLowHpSound(); - BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 2c53938c1..0ec21fd22 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -8,7 +8,7 @@ #include "battle_setup.h" #include "battle_tower.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -27,9 +27,6 @@ #include "constants/songs.h" #include "constants/trainers.h" -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void PlayerPartnerHandleGetMonData(void); static void PlayerPartnerHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index e43c5f8ae..69d840020 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -9,7 +9,7 @@ #include "battle_tower.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -31,8 +31,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; - // this file's functions static void RecordedOpponentHandleGetMonData(void); static void RecordedOpponentHandleGetRawMonData(void); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 412c49f17..95683225e 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -6,7 +6,7 @@ #include "battle_message.h" #include "battle_interface.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -27,9 +27,6 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; - // this file's functions static void RecordedPlayerHandleGetMonData(void); static void RecordedPlayerHandleGetRawMonData(void); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index e9da16252..c39b904c9 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -5,7 +5,7 @@ #include "battle_interface.h" #include "battle_message.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item_menu.h" #include "link.h" #include "main.h" @@ -22,8 +22,7 @@ #include "window.h" #include "constants/battle_anim.h" #include "constants/songs.h" - -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; +#include "constants/rgb.h" // this file's functions static void SafariHandleGetMonData(void); @@ -473,7 +472,7 @@ static void SafariHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f1b783b21..6a5b23e59 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -7,7 +7,7 @@ #include "battle_setup.h" #include "battle_tv.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "item.h" #include "item_menu.h" #include "link.h" @@ -30,8 +30,7 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/trainers.h" - -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; +#include "constants/rgb.h" // this file's functions static void WallyHandleGetMonData(void); @@ -1244,7 +1243,7 @@ static void WallyHandleChooseMove(void) static void WallyHandleChooseItem(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = OpenBagAfterPaletteFade; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_data.c b/src/battle_data.c deleted file mode 100644 index 7f86385aa..000000000 --- a/src/battle_data.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "data2.h" -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" -#include "constants/battle_ai.h" - -#include "data/trainer_parties.h" -#include "data/text/trainer_class_names.h" -#include "data/trainers.h" -#include "data/text/species_names.h" -#include "data/text/move_names.h" diff --git a/src/battle_dome.c b/src/battle_dome.c index 1b7953180..95fce49a3 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -24,7 +24,7 @@ #include "menu.h" #include "sound.h" #include "pokemon_icon.h" -#include "data2.h" +#include "data.h" #include "international_string_util.h" #include "trainer_pokemon_sprites.h" #include "scanline_effect.h" @@ -59,9 +59,6 @@ struct UnkStruct_860DD10 u16 src; }; -// text -extern const u8 gTrainerClassNames[][13]; - // This file's functions. static u8 GetDomeTrainerMonIvs(u16 trainerId); static void SwapDomeTrainers(int id1, int id2, u16 *statsArray); diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 367c1401f..02804ba0b 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -17,7 +17,7 @@ #include "string_util.h" #include "international_string_util.h" #include "window.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "pokemon_summary_screen.h" #include "sound.h" @@ -1166,7 +1166,7 @@ static void CB2_InitSelectScreen(void) ShowBg(0); ShowBg(1); SetVBlankCallback(Select_VblankCb); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP); if (sFactorySelectScreen->fromSummaryScreen == TRUE) { @@ -1405,7 +1405,7 @@ static void Task_FromSelectScreenToSummaryScreen(u8 taskId) { case 6: gPlttBufferUnfaded[228] = gPlttBufferFaded[228]; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 7; break; case 7: @@ -1442,7 +1442,7 @@ static void Task_CloseSelectionScreen(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0]++; break; case 1: @@ -2274,7 +2274,7 @@ static void Task_FromSwapScreenToSummaryScreen(u8 taskId) switch (gTasks[taskId].data[0]) { case 6: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 7; break; case 7: @@ -2327,7 +2327,7 @@ static void Task_CloseSwapScreen(u8 taskId) gTasks[taskId].data[0]++; break; case 2: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0]++; break; case 3: @@ -3218,7 +3218,7 @@ static void CB2_InitSwapScreen(void) gMain.state++; break; case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); ShowBg(0); ShowBg(1); diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 7c6b74304..d6b1b6dee 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -19,7 +19,7 @@ #include "m4a.h" #include "constants/species.h" #include "decompress.h" -#include "data2.h" +#include "data.h" #include "palette.h" #include "contest.h" #include "constants/songs.h" @@ -32,16 +32,8 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM; extern const u8 gUnknown_0831C604[]; extern const u8 * const gBattleAnims_General[]; extern const u8 * const gBattleAnims_Special[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; -extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; -extern const u8 gEnemyMonElevation[]; // this file's functions static u8 sub_805D4A8(u16 move); @@ -932,7 +924,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform if (targetSpecies == SPECIES_CASTFORM) { - gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonAnimationsSpriteAnimsPtrTable[targetSpecies]; + gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonFrontAnimsPtrTable[targetSpecies]; LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32); } diff --git a/src/battle_interface.c b/src/battle_interface.c index a8651f6cf..922437597 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -23,7 +23,8 @@ #include "battle_anim.h" #include "constants/battle_anim.h" #include "constants/rgb.h" -#include "data2.h" +#include "data.h" +#include "pokemon_summary_screen.h" struct TestingBar { @@ -157,8 +158,6 @@ enum HEALTHBOX_GFX_117, //unknown_D1300C }; -extern const u8 *const gNatureNamePointers[]; - // strings extern const u8 gText_Slash[]; extern const u8 gText_HighlightDarkGrey[]; diff --git a/src/battle_main.c b/src/battle_main.c index 92f12636d..76bd6d877 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -13,7 +13,7 @@ #include "battle_tower.h" #include "berry.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" @@ -977,7 +977,7 @@ static void CB2_HandleStartBattle(void) gBattleCommunication[MULTIUSE_STATE] = 1; } if (gWirelessCommType) - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); break; case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -1172,7 +1172,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) gBattleCommunication[MULTIUSE_STATE] = 1; } if (gWirelessCommType) - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); // fall through case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -1572,7 +1572,7 @@ static void CB2_HandleStartMultiBattle(void) gBattleCommunication[MULTIUSE_STATE] = 1; } if (gWirelessCommType) - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); break; case 1: if (gBattleTypeFlags & BATTLE_TYPE_LINK) diff --git a/src/battle_message.c b/src/battle_message.c index f93765b89..3fec571f4 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -5,7 +5,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "battle_tower.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "frontier_util.h" #include "international_string_util.h" @@ -38,7 +38,6 @@ struct BattleWindowText u8 shadowColor; }; -extern const u8 gTrainerClassNames[][13]; extern const u16 gUnknown_08D85620[]; // this file's functions diff --git a/src/battle_records.c b/src/battle_records.c index fdd915d07..3d4cabcb0 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -22,6 +22,7 @@ #include "gpu_regs.h" #include "constants/game_stat.h" #include "trainer_hill.h" +#include "constants/rgb.h" // this file's functions static void Task_CloseTrainerHillRecordsOnButton(u8 taskId); @@ -364,7 +365,7 @@ static void Task_CloseTrainerHillRecordsOnButton(u8 taskId) static void Task_BeginPaletteFade(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_ExitTrainerHillRecords; } @@ -511,7 +512,7 @@ static void CB2_ShowTrainerHillRecords(void) gMain.state++; break; case 6: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gMain.state++; break; case 7: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2e78e1ca0..837fb5bac 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -50,6 +50,8 @@ #include "pokemon_summary_screen.h" #include "pokenav.h" #include "menu_specialized.h" +#include "constants/rgb.h" +#include "data.h" extern struct MusicPlayerInfo gMPlayInfo_BGM; @@ -66,8 +68,8 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr); static bool32 IsMonGettingExpSentOut(void); static void sub_804F17C(void); static bool8 sub_804F1CC(void); -static void sub_804F100(void); -static void sub_804F144(void); +static void DrawLevelUpWindow1(void); +static void DrawLevelUpWindow2(void); static bool8 sub_804F344(void); static void PutMonIconOnLvlUpBox(void); static void PutLevelAndGenderOnLvlUpBox(void); @@ -1274,8 +1276,8 @@ static void atk04_critcalc(void) + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattlerAttacker].species == SPECIES_FARFETCHD); - if (critChance > 4) - critChance = 4; + if (critChance >= ARRAY_COUNT(sCriticalHitChance)) + critChance = ARRAY_COUNT(sCriticalHitChance) - 1; if ((gBattleMons[gBattlerTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBattlerTarget].ability != ABILITY_SHELL_ARMOR) && !(gStatuses3[gBattlerAttacker] & STATUS3_CANT_SCORE_A_CRIT) @@ -3238,9 +3240,8 @@ static void atk23_getexp(void) s32 i; // also used as stringId u8 holdEffect; s32 sentIn; - s32 viaExpShare = 0; - u16* exp = &gBattleStruct->expValue; + u16 *exp = &gBattleStruct->expValue; gBattlerFainted = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1]; @@ -3391,14 +3392,14 @@ static void atk23_getexp(void) } } else + { gBattleStruct->expGetterBattlerId = 0; + } - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId) - + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId); // buffer 'gained' or 'gained a boosted' - PREPARE_STRING_BUFFER(gBattleTextBuff2, i) - - PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage) + PREPARE_STRING_BUFFER(gBattleTextBuff2, i); + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage); PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId); MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); @@ -3414,12 +3415,12 @@ static void atk23_getexp(void) gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0; if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_LEVEL) { - gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); - gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); - gBattleResources->statsBeforeLvlUp->def = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); - gBattleResources->statsBeforeLvlUp->spd = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); - gBattleResources->statsBeforeLvlUp->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); - gBattleResources->statsBeforeLvlUp->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); + gBattleResources->beforeLvlUp->stats[STAT_HP] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); + gBattleResources->beforeLvlUp->stats[STAT_ATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); + gBattleResources->beforeLvlUp->stats[STAT_DEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); + gBattleResources->beforeLvlUp->stats[STAT_SPEED] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); + gBattleResources->beforeLvlUp->stats[STAT_SPATK] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); + gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); gActiveBattler = gBattleStruct->expGetterBattlerId; BtlController_EmitExpUpdate(0, gBattleStruct->expGetterMonId, gBattleMoveDamage); @@ -3437,9 +3438,8 @@ static void atk23_getexp(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId) - - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId); + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)); BattleScriptPushCursor(); gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterMonId]; @@ -3487,7 +3487,9 @@ static void atk23_getexp(void) break; case 5: // looper increment if (gBattleMoveDamage) // there is exp to give, goto case 3 that gives exp + { gBattleScripting.atk23_state = 3; + } else { gBattleStruct->expGetterMonId++; @@ -5695,7 +5697,7 @@ static void atk5A_yesnoboxlearnmove(void) if (gBattleCommunication[1] == 0) { HandleBattleWindow(0x18, 0x8, 0x1D, 0xD, WINDOW_CLEAR); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleScripting.learnMoveState++; } else @@ -5911,8 +5913,7 @@ static void atk5D_getmoneyreward(void) moneyReward += GetTrainerMoneyToGive(gTrainerBattleOpponent_B); AddMoney(&gSaveBlock1Ptr->money, moneyReward); - - PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward) + PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward); gBattlescriptCurrInstr++; } @@ -6233,7 +6234,7 @@ static void atk6C_drawlvlupbox(void) gBattleScripting.atk6C_state = 4; break; case 4: - sub_804F100(); + DrawLevelUpWindow1(); PutWindowTilemap(13); CopyWindowToVram(13, 3); gBattleScripting.atk6C_state++; @@ -6250,7 +6251,7 @@ static void atk6C_drawlvlupbox(void) if (gMain.newKeys != 0) { PlaySE(SE_SELECT); - sub_804F144(); + DrawLevelUpWindow2(); CopyWindowToVram(13, 2); gBattleScripting.atk6C_state++; } @@ -6291,20 +6292,20 @@ static void atk6C_drawlvlupbox(void) } } -static void sub_804F100(void) +static void DrawLevelUpWindow1(void) { - struct StatsArray currentStats; + u16 currStats[NUM_STATS]; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); - DrawLevelUpWindowPg1(0xD, (u16*) gBattleResources->statsBeforeLvlUp,(u16*) ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); + DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, 0xE, 0xD, 0xF); } -static void sub_804F144(void) +static void DrawLevelUpWindow2(void) { - struct StatsArray currentStats; + u16 currStats[NUM_STATS]; - GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], (u16*) ¤tStats); - DrawLevelUpWindowPg2(0xD, (u16*) ¤tStats, 0xE, 0xD, 0xF); + GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats); + DrawLevelUpWindowPg2(0xD, currStats, 0xE, 0xD, 0xF); } static void sub_804F17C(void) @@ -10274,7 +10275,7 @@ static void atkF2_displaydexinfo(void) switch (gBattleCommunication[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[0]++; break; case 1: @@ -10305,7 +10306,7 @@ static void atkF2_displaydexinfo(void) case 4: if (!IsDma3ManagerBusyWithBgCopy()) { - BeginNormalPaletteFade(0xFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFF, 0, 0x10, 0, RGB_BLACK); ShowBg(0); ShowBg(3); gBattleCommunication[0]++; diff --git a/src/battle_setup.c b/src/battle_setup.c index 7395c175b..288fdb3e9 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -45,6 +45,7 @@ #include "constants/map_types.h" #include "constants/battle_frontier.h" #include "field_screen_effect.h" +#include "data.h" enum { @@ -792,7 +793,7 @@ static u8 GetTrainerBattleTransition(void) if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR) { if (gTrainerBattleOpponent_A == TRAINER_SIDNEY) - return B_TRANSITION_SYDNEY; + return B_TRANSITION_SIDNEY; if (gTrainerBattleOpponent_A == TRAINER_PHOEBE) return B_TRANSITION_PHOEBE; if (gTrainerBattleOpponent_A == TRAINER_GLACIA) diff --git a/src/battle_tower.c b/src/battle_tower.c index 46aab4bac..6f8e3e25f 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -18,7 +18,7 @@ #include "trainer_see.h" #include "new_game.h" #include "string_util.h" -#include "data2.h" +#include "data.h" #include "link.h" #include "field_message_box.h" #include "tv.h" diff --git a/src/battle_transition.c b/src/battle_transition.c index df6180d19..7edb1bd93 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -23,6 +23,7 @@ #include "constants/field_effects.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/rgb.h" struct TransitionData { @@ -75,7 +76,7 @@ static void Phase2Task_Slice(u8 taskId); static void Phase2Task_WhiteFade(u8 taskId); static void Phase2Task_GridSquares(u8 taskId); static void Phase2Task_Shards(u8 taskId); -static void Phase2Task_Sydney(u8 taskId); +static void Phase2Task_Sidney(u8 taskId); static void Phase2Task_Phoebe(u8 taskId); static void Phase2Task_Glacia(u8 taskId); static void Phase2Task_Drake(u8 taskId); @@ -330,7 +331,7 @@ static const TaskFunc sPhase2_Tasks[B_TRANSITION_COUNT] = Phase2Task_WhiteFade, // 9 Phase2Task_GridSquares, // 10 Phase2Task_Shards, // 11 - Phase2Task_Sydney, // 12 + Phase2Task_Sidney, // 12 Phase2Task_Phoebe, // 13 Phase2Task_Glacia, // 14 Phase2Task_Drake, // 15 @@ -823,7 +824,7 @@ const struct SpritePalette gFieldEffectObjectPaletteInfo10 = gFieldEffectObjectPalette10, 0x1009 }; -static const u16 sMugshotPal_Sydney[] = INCBIN_U16("graphics/battle_transitions/sidney_bg.gbapal"); +static const u16 sMugshotPal_Sidney[] = INCBIN_U16("graphics/battle_transitions/sidney_bg.gbapal"); static const u16 sMugshotPal_Phoebe[] = INCBIN_U16("graphics/battle_transitions/phoebe_bg.gbapal"); static const u16 sMugshotPal_Glacia[] = INCBIN_U16("graphics/battle_transitions/glacia_bg.gbapal"); static const u16 sMugshotPal_Drake[] = INCBIN_U16("graphics/battle_transitions/drake_bg.gbapal"); @@ -833,7 +834,7 @@ static const u16 sMugshotPal_May[] = INCBIN_U16("graphics/battle_transitions/may static const u16 *const sOpponentMugshotsPals[MUGSHOTS_COUNT] = { - sMugshotPal_Sydney, + sMugshotPal_Sidney, sMugshotPal_Phoebe, sMugshotPal_Glacia, sMugshotPal_Drake, @@ -1076,7 +1077,7 @@ static bool8 Phase2_Blur_Func2(struct Task *task) { task->tData1 = 4; if (++task->tData2 == 10) - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_BLACK); SetGpuReg(REG_OFFSET_MOSAIC, (task->tData2 & 15) * 17); if (task->tData2 > 14) task->tState++; @@ -1103,7 +1104,7 @@ static bool8 Phase2_Swirl_Func1(struct Task *task) { sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK); sub_8149F98(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_14, 0, 2, 0, 160); SetVBlankCallback(VBlankCB_Phase2_Swirl); @@ -1158,7 +1159,7 @@ static bool8 Phase2_Shuffle_Func1(struct Task *task) sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK); memset(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_16, 0x140); SetVBlankCallback(VBlankCB_Phase2_Shuffle); @@ -1461,7 +1462,7 @@ static bool8 Phase2_Kyogre_Func5(struct Task *task) static bool8 Phase2_WeatherDuo_Func6(struct Task *task) { - BeginNormalPaletteFade(0xFFFF8000, 1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFF8000, 1, 0, 0x10, RGB_BLACK); task->tState++; return FALSE; } @@ -1546,7 +1547,7 @@ static bool8 Phase2_FramesCountdown(struct Task *task) static bool8 Phase2_WeatherTrio_Func1(struct Task *task) { - BeginNormalPaletteFade(0x0000FFFF, 1, 0, 0x10, 0); + BeginNormalPaletteFade(0x0000FFFF, 1, 0, 0x10, RGB_BLACK); task->tState++; return FALSE; } @@ -1969,7 +1970,7 @@ static bool8 Phase2_Ripple_Func2(struct Task *task) if (++task->tData3 == 81) { task->tData4++; - BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, RGB_BLACK); } if (task->tData4 != 0 && !gPaletteFade.active) @@ -2072,9 +2073,9 @@ static void VBlankCB_Phase2_Wave(void) DmaSet(0, gScanlineEffectRegBuffers[1], ®_WIN0H, 0xA2400001); } -static void Phase2Task_Sydney(u8 taskId) +static void Phase2Task_Sidney(u8 taskId) { - gTasks[taskId].tMugshotId = MUGSHOT_SYDNEY; + gTasks[taskId].tMugshotId = MUGSHOT_SIDNEY; Phase2Task_MugShotTransition(taskId); } @@ -3159,7 +3160,7 @@ static bool8 Phase2_Rayquaza_Func6(struct Task *task) { task->tState++; task->tData1 = 0; - BeginNormalPaletteFade(0xFFFF8000, 2, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFF8000, 2, 0, 0x10, RGB_BLACK); } return FALSE; @@ -3978,7 +3979,7 @@ static bool8 Phase2_30_Func4(struct Task *task) if (++task->tData3 == 101) { task->tData4++; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); } if (task->tData4 != 0 && !gPaletteFade.active) diff --git a/src/battle_util.c b/src/battle_util.c index a7962b7f7..03f1482da 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2041,7 +2041,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && !(gBattleMons[battler].status1 & STATUS1_FREEZE)) { - if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE)) + if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gProtectStructs[gBattlerAttacker].notFirstStrike) @@ -2049,7 +2049,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - gBattleResources->flags->flags[battler] |= UNKNOWN_FLAG_FLASH_FIRE; + gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_FLASH_FIRE; effect = 2; } else diff --git a/src/battle_util2.c b/src/battle_util2.c index 5ef969fd5..f840cd58b 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -25,7 +25,7 @@ void AllocateBattleResources(void) gBattleResources->flags = AllocZeroed(sizeof(*gBattleResources->flags)); gBattleResources->battleScriptsStack = AllocZeroed(sizeof(*gBattleResources->battleScriptsStack)); gBattleResources->battleCallbackStack = AllocZeroed(sizeof(*gBattleResources->battleCallbackStack)); - gBattleResources->statsBeforeLvlUp = AllocZeroed(sizeof(*gBattleResources->statsBeforeLvlUp)); + gBattleResources->beforeLvlUp = AllocZeroed(sizeof(*gBattleResources->beforeLvlUp)); gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai)); gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory)); gBattleResources->AI_ScriptsStack = AllocZeroed(sizeof(*gBattleResources->AI_ScriptsStack)); @@ -56,7 +56,7 @@ void FreeBattleResources(void) FREE_AND_SET_NULL(gBattleResources->flags); FREE_AND_SET_NULL(gBattleResources->battleScriptsStack); FREE_AND_SET_NULL(gBattleResources->battleCallbackStack); - FREE_AND_SET_NULL(gBattleResources->statsBeforeLvlUp); + FREE_AND_SET_NULL(gBattleResources->beforeLvlUp); FREE_AND_SET_NULL(gBattleResources->ai); FREE_AND_SET_NULL(gBattleResources->battleHistory); FREE_AND_SET_NULL(gBattleResources->AI_ScriptsStack); diff --git a/src/berry.c b/src/berry.c index cbac06a3d..49acb7d10 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1,6 +1,8 @@ #include "global.h" #include "berry.h" #include "event_data.h" +#include "event_object_movement.h" +#include "event_scripts.h" #include "field_control_avatar.h" #include "fieldmap.h" #include "item.h" @@ -11,11 +13,6 @@ #include "text.h" #include "constants/event_object_movement_constants.h" #include "constants/items.h" -#include "event_object_movement.h" - - - -extern const u8 BerryTreeScript[]; static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry); static bool32 BerryTreeGrow(struct BerryTree *tree); @@ -117,6 +114,7 @@ static const u8 sBerryDescriptionPart2_Enigma[] = _("Appears to have the power o const struct Berry gBerries[] = { + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = { .name = _("CHERI"), .firmness = BERRY_FIRMNESS_SOFT, @@ -133,6 +131,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = { .name = _("CHESTO"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -149,6 +149,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = { .name = _("PECHA"), .firmness = BERRY_FIRMNESS_VERY_SOFT, @@ -165,6 +167,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = { .name = _("RAWST"), .firmness = BERRY_FIRMNESS_HARD, @@ -181,6 +185,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = { .name = _("ASPEAR"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -197,6 +203,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 25, }, + + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = { .name = _("LEPPA"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -213,6 +221,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = { .name = _("ORAN"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -229,6 +239,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = { .name = _("PERSIM"), .firmness = BERRY_FIRMNESS_HARD, @@ -245,6 +257,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = { .name = _("LUM"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -261,6 +275,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = { .name = _("SITRUS"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -277,6 +293,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = { .name = _("FIGY"), .firmness = BERRY_FIRMNESS_SOFT, @@ -293,6 +311,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = { .name = _("WIKI"), .firmness = BERRY_FIRMNESS_HARD, @@ -309,6 +329,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = { .name = _("MAGO"), .firmness = BERRY_FIRMNESS_HARD, @@ -325,6 +347,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = { .name = _("AGUAV"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -341,6 +365,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 25, }, + + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = { .name = _("IAPAPA"), .firmness = BERRY_FIRMNESS_SOFT, @@ -357,6 +383,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 25, }, + + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = { .name = _("RAZZ"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -373,6 +401,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = { .name = _("BLUK"), .firmness = BERRY_FIRMNESS_SOFT, @@ -389,6 +419,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = { .name = _("NANAB"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -405,6 +437,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = { .name = _("WEPEAR"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -421,6 +455,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = { .name = _("PINAP"), .firmness = BERRY_FIRMNESS_HARD, @@ -437,6 +473,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = { .name = _("POMEG"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -453,6 +491,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = { .name = _("KELPSY"), .firmness = BERRY_FIRMNESS_HARD, @@ -469,6 +509,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = { .name = _("QUALOT"), .firmness = BERRY_FIRMNESS_HARD, @@ -485,6 +527,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = { .name = _("HONDEW"), .firmness = BERRY_FIRMNESS_HARD, @@ -501,6 +545,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 20, }, + + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = { .name = _("GREPA"), .firmness = BERRY_FIRMNESS_SOFT, @@ -517,6 +563,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 20, }, + + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = { .name = _("TAMATO"), .firmness = BERRY_FIRMNESS_SOFT, @@ -533,6 +581,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 30, }, + + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = { .name = _("CORNN"), .firmness = BERRY_FIRMNESS_HARD, @@ -549,6 +599,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 30, }, + + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = { .name = _("MAGOST"), .firmness = BERRY_FIRMNESS_HARD, @@ -565,6 +617,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 30, }, + + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = { .name = _("RABUTA"), .firmness = BERRY_FIRMNESS_SOFT, @@ -581,6 +635,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 30, }, + + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = { .name = _("NOMEL"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -597,6 +653,8 @@ const struct Berry gBerries[] = .sour = 20, .smoothness = 30, }, + + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = { .name = _("SPELON"), .firmness = BERRY_FIRMNESS_SOFT, @@ -613,6 +671,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 70, }, + + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = { .name = _("PAMTRE"), .firmness = BERRY_FIRMNESS_VERY_SOFT, @@ -629,6 +689,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 70, }, + + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = { .name = _("WATMEL"), .firmness = BERRY_FIRMNESS_SOFT, @@ -645,6 +707,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 70, }, + + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = { .name = _("DURIN"), .firmness = BERRY_FIRMNESS_HARD, @@ -661,6 +725,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 70, }, + + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = { .name = _("BELUE"), .firmness = BERRY_FIRMNESS_VERY_SOFT, @@ -677,6 +743,8 @@ const struct Berry gBerries[] = .sour = 40, .smoothness = 70, }, + + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = { .name = _("LIECHI"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -693,6 +761,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 80, }, + + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = { .name = _("GANLON"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -709,6 +779,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 80, }, + + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = { .name = _("SALAC"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -725,6 +797,8 @@ const struct Berry gBerries[] = .sour = 40, .smoothness = 80, }, + + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = { .name = _("PETAYA"), .firmness = BERRY_FIRMNESS_VERY_HARD, @@ -741,6 +815,8 @@ const struct Berry gBerries[] = .sour = 0, .smoothness = 80, }, + + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = { .name = _("APICOT"), .firmness = BERRY_FIRMNESS_HARD, @@ -757,6 +833,8 @@ const struct Berry gBerries[] = .sour = 40, .smoothness = 80, }, + + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = { .name = _("LANSAT"), .firmness = BERRY_FIRMNESS_SOFT, @@ -773,6 +851,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 30, }, + + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = { .name = _("STARF"), .firmness = BERRY_FIRMNESS_SUPER_HARD, @@ -789,6 +869,8 @@ const struct Berry gBerries[] = .sour = 10, .smoothness = 30, }, + + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = { .name = _("ENIGMA"), .firmness = BERRY_FIRMNESS_UNKNOWN, diff --git a/src/berry_blender.c b/src/berry_blender.c index 26327a634..c1c664c1a 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -36,6 +36,7 @@ #include "new_game.h" #include "save.h" #include "link.h" +#include "constants/rgb.h" #define BLENDER_SCORE_BEST 0 #define BLENDER_SCORE_GOOD 1 @@ -996,7 +997,7 @@ static void sub_807FAC8(void) } if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } SetVBlankCallback(VBlankCB0_BerryBlender); @@ -1004,7 +1005,7 @@ static void sub_807FAC8(void) } break; case 2: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sub_8082D28(); sBerryBlenderData->mainState++; break; @@ -1018,7 +1019,7 @@ static void sub_807FAC8(void) sBerryBlenderData->mainState++; break; case 5: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); sBerryBlenderData->mainState++; break; case 6: @@ -1202,13 +1203,13 @@ static void sub_8080018(void) } if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sBerryBlenderData->mainState++; break; case 4: @@ -1534,7 +1535,7 @@ static void sub_80808D4(void) sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sBerryBlenderData->mainState++; sBerryBlenderData->framesToWait = 0; break; @@ -2037,7 +2038,7 @@ static void sub_8081744(void) sBerryBlenderData->field_4C--; sBerryBlenderData->field_72 = 0; } - if (gUnknown_020322D5 && gMain.newKeys & L_BUTTON) + if (gEnableContestDebugging && gMain.newKeys & L_BUTTON) sBerryBlenderData->field_123 ^= 1; } @@ -2700,7 +2701,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) case 9: if (IsLinkTaskFinished()) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); sBerryBlenderData->gameEndState++; } break; diff --git a/src/berry_crush.c b/src/berry_crush.c index 307bd49a7..a5d964cc9 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -337,7 +337,7 @@ void sub_8020FC4(struct BerryCrushGame *arg0) for (i = 0; i < arg0->unk9; i++) StringCopy(arg0->unk84.players[i].unk14, gLinkPlayers[i].name); - + for (; i < 5; i++) { memset(arg0->unk84.players[i].unk14, 1, PLAYER_NAME_LENGTH); @@ -511,7 +511,7 @@ int sub_802104C(void) CopyBgTilemapBufferToVram(3); break; case 8: - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); sub_8022730(var0); SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index a7cf4daf2..d0f89ab8a 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -28,6 +28,7 @@ #include "item_menu_icons.h" #include "decompress.h" #include "international_string_util.h" +#include "constants/rgb.h" // There are 4 windows used in berry tag screen. enum @@ -279,7 +280,7 @@ static bool8 InitBerryTagScreen(void) gMain.state++; break; case 15: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -513,7 +514,7 @@ static void DestroyFlavorCircleSprites(void) static void PrepareToCloseBerryTagScreen(u8 taskId) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_CloseBerryTagScreen; } diff --git a/src/bike.c b/src/bike.c index 530742bdf..7f84f350b 100644 --- a/src/bike.c +++ b/src/bike.c @@ -3,7 +3,7 @@ #include "event_object_movement.h" #include "field_player_avatar.h" #include "fieldmap.h" -#include "global.fieldmap.h" +#include "field_specials.h" #include "metatile_behavior.h" #include "overworld.h" #include "sound.h" @@ -11,9 +11,6 @@ #include "constants/map_types.h" #include "constants/songs.h" -extern bool8 gBikeCyclingChallenge; -extern u8 gBikeCollisions; - // this file's functions static void MovePlayerOnMachBike(u8, u16, u16); static u8 GetMachBikeTransition(u8 *); diff --git a/src/cable_club.c b/src/cable_club.c index fab187b07..303cc76d1 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -4,7 +4,7 @@ #include "battle_records.h" #include "battle_setup.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "field_message_box.h" #include "field_specials.h" diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index c1d6930c7..b91506352 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -163,7 +163,7 @@ static bool8 SetupClearSaveDataScreen(void) ShowBg(3); SetGpuReg(REG_OFFSET_BLDCNT, 0); InitClearSaveDataScreenWindows(); - BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITEALPHA); EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(VBlankCB); gMain.state = 1; diff --git a/src/contest.c b/src/contest.c index 02d7038cf..eb3252f72 100644 --- a/src/contest.c +++ b/src/contest.c @@ -11,7 +11,7 @@ #include "battle.h" #include "battle_anim.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "graphics.h" #include "link.h" @@ -41,10 +41,37 @@ #include "contest_link_80FC4F4.h" #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" -#include "data2.h" +#include "data.h" #include "constants/rgb.h" #include "contest_ai.h" +#define APPLAUSE_METER_GFX_TAG 0xABE2 + +// An index into a palette where the text color for each contestant is stored. +// Contestant 0 will use palette color 10, contestant 1 will use color 11, etc. +#define CONTESTANT_TEXT_COLOR_START 10 + +enum +{ +// The "{Pokemon Name} / {Trainer Name}" windows. + CONTEST_WINDOW_CONTESTANT0_NAME, + CONTEST_WINDOW_CONTESTANT1_NAME, + CONTEST_WINDOW_CONTESTANT2_NAME, + CONTEST_WINDOW_CONTESTANT3_NAME, + CONTEST_WINDOW_GENERAL_TEXT, + // The available moves, from top to bottom + CONTEST_WINDOW_MOVE0, + CONTEST_WINDOW_MOVE1, + CONTEST_WINDOW_MOVE2, + CONTEST_WINDOW_MOVE3, + // The small "/" character between the move category and the + // appeal/jam display + CONTEST_WINDOW_SLASH, + CONTEST_WINDOW_MOVE_DESCRIPTION +}; + +#define MOVE_WINDOWS_START CONTEST_WINDOW_MOVE0 + // This file's functions. static void sub_80D782C(void); static void sub_80D7C7C(u8 taskId); @@ -52,11 +79,11 @@ static void sub_80D7CB4(u8 taskId); static void sub_80D7DAC(u8 taskId); static void sub_80D7DC8(u8 taskId); static void sub_80D7DE8(u8 taskId); -static bool8 sub_80D7E44(u8 *); +static bool8 SetupContestGraphics(u8 *stateVar); static void sub_80D80C8(u8 taskId); static void sub_80D8108(u8 taskId); static void vblank_cb_battle(void); -static void sub_80D823C(void); +static void CB2_ContestMain(void); static void sub_80D833C(u8 taskId); static void sub_80D8424(u8 taskId); static void sub_80D8610(u8 taskId); @@ -94,31 +121,31 @@ static void sub_80DA7EC(u8); static void sub_80DA830(u8); static void sub_80DA874(void); static bool8 sub_80DA8A4(void); -static void sub_80DAF04(u8); -static void sub_80DAF1C(u8 a0, u8 a1); -static void sub_80DAF88(u8); -static void sub_80DAFA0(u8, u8); +static void PrintContestantTrainerName(u8); +static void PrintContestantTrainerNameWithColor(u8 a0, u8 a1); +static void PrintContestantMonName(u8); +static void PrintContestantMonNameWithColor(u8, u8); static u8 sub_80DB0C4(void); static u8 sub_80DB120(void); static u8 sub_80DB174(u16, u32, u32, u32); -static void prints_contest_move_description(u16); +static void PrintContestMoveDescription(u16); static u16 SanitizeSpecies(u16); -static void sub_80DB89C(void); +static void ContestClearGeneralTextWindow(void); static u16 GetChosenMove(u8); -static void sub_80DB918(void); -static void sub_80DBF68(void); -static void sub_80DBF90(void); +static void GetAllChosenMoves(void); +static void ContestPrintLinkStandby(void); +static void FillContestantWindowBgs(void); static void sub_80DC2BC(void); static void sub_80DC490(bool8); static void sub_80DC4F0(void); static void CreateApplauseMeterSprite(void); static void sub_80DC5E8(void); static void sub_80DC7EC(void); -static void sub_80DCD48(void); -static void sub_80DD04C(void); -static void sub_80DD590(void); -static void sub_80DDB0C(void); -static void sub_80DDBE8(void); +static void ContestDebugDoPrint(void); +static void DrawContestantWindows(void); +static void ApplyNextTurnOrder(void); +static void StartMoveApplauseMeterOnscreen(void); +static void TryMoveApplauseMeterOffscreen(void); static void sub_80DE224(void); static void sub_80DE350(void); static void sub_80DE424(u8); @@ -127,7 +154,7 @@ static void sub_80DEA20(void); static void Contest_StartTextPrinter(const u8 *, u32); static void ContestBG_FillBoxWithIncrementingTile(u8, u16, u8, u8, u8, u8, u8, s16); static bool32 Contest_RunTextPrinters(void); -static void Contest_SetBgCopyFlags(u32); +static void Contest_SetBgCopyFlags(u32 flagIndex); static void sub_80DBD18(void); static void sub_80DD080(u8); static void sub_80DE9DC(u8); @@ -148,10 +175,10 @@ static bool8 sub_80DB798(u8); static void sub_80DB884(void); static void sub_80DC9B4(u8); static void sub_80DDED0(s8, s8); -static void sub_80DDCDC(s8); +static void ShowAndUpdateApplauseMeter(s8 unused); static void sub_80DDE0C(void); -static void sub_80DD940(void); -static void sub_80DB944(void); +static void UpdateApplauseMeter(void); +static void RankContestants(void); static void sub_80DBA18(void); static void sub_80DC3AC(void); static bool8 sub_80DC3C4(void); @@ -169,11 +196,11 @@ static void sub_80DC81C(u8); static void sub_80DC87C(u8); static void sub_80DCC84(struct Sprite *); static void sub_80DCCD8(struct Sprite *sprite); -static u8 sub_80DDA20(void); -static void c3_08130B10(u8); -static void sub_80DDB6C(u8); -static void task08_080CD1CC(u8); -static void sub_80DDD20(u8); +static u8 StartApplauseOverflowAnimation(void); +static void Task_ApplauseOverflowAnimation(u8); +static void Task_MoveApplauseMeterOnscreen(u8); +static void Task_MoveApplauseMeterOffscreen(u8); +static void Task_ShowAndUpdateApplauseMeter(u8); static void sub_80DDE30(u8); static void sub_80DDF80(u8); static const u8 *GetTurnOrderNumberGfx(u8); @@ -186,10 +213,10 @@ static void sub_80DEA5C(void); static void sub_80DF250(void); static void sub_80DF4F8(void); static void sub_80DF080(u8); -static void sub_80DF750(void); +static void ContestDebugPrintBitStrings(void); static void sub_80DF9D4(u8 *); static void sub_80DF9E0(u8 *, s32); -static void sub_80DB2BC(void); +static void SwapMoveDescAndContestTilemaps(void); // EWRAM vars. EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; @@ -200,8 +227,8 @@ EWRAM_DATA s16 gUnknown_02039F18[4] = {0}; EWRAM_DATA u8 gContestFinalStandings[4] = {0}; EWRAM_DATA u8 gContestMonPartyIndex = 0; EWRAM_DATA u8 gContestPlayerMonIndex = 0; -EWRAM_DATA u8 gUnknown_02039F26[4] = {0}; -EWRAM_DATA u8 gIsLinkContest = 0; +EWRAM_DATA u8 gContestantTurnOrder[4] = {0}; +EWRAM_DATA u8 gLinkContestFlags = 0; // Bit 0: Is a link contest // Bit 1: Link contest uses wireless adapter EWRAM_DATA u8 gUnknown_02039F2B = 0; @@ -218,14 +245,14 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0; // IWRAM common vars. u32 gContestRngValue; -extern const u8 *const gUnknown_0827E8DA[]; +extern const u8 gText_LinkStandby4[]; extern const u8 gText_0827D55A[]; extern const u8 gText_0827E793[]; extern const u8 gText_0827E32E[]; extern const u8 gText_0827E35B[]; extern const u8 gText_0827E38D[]; extern const u8 gText_0827E2FE[]; -extern const u8 gText_0827E6E3[]; +extern const u8 gText_RepeatedAppeal[]; extern const u8 gText_0827E73C[]; extern const u8 gText_0827E717[]; extern const u8 gText_0827E76A[]; @@ -242,8 +269,6 @@ extern const u8 gText_Contest_Fear[]; extern const u8 gText_BDot[]; extern const u8 gText_CDot[]; extern const u8 *const gUnknown_08587E10[]; -extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; extern const struct SpriteTemplate gSpriteTemplate_8587AD0; extern const struct SpriteTemplate gSpriteTemplate_8587B18[]; extern void (*const gContestEffectFuncs[])(void); @@ -467,20 +492,20 @@ const struct SpriteTemplate gSpriteTemplate_8587B98 = .callback = SpriteCallbackDummy }; -const struct CompressedSpriteSheet gUnknown_08587BB0 = +static const struct CompressedSpriteSheet sApplauseMeterSpriteSheet = { .data = gContestApplauseGfx, .size = 0x400, - .tag = 0xABE2 + .tag = APPLAUSE_METER_GFX_TAG }; -const struct SpritePalette gUnknown_08587BB8 = +static const struct SpritePalette sApplauseMeterPalette = { .data = gContestPal, - .tag = 0xABE2 + .tag = APPLAUSE_METER_GFX_TAG }; -const struct OamData gOamData_8587BC0 = +static const struct OamData sApplauseMeterOamData = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -494,11 +519,11 @@ const struct OamData gOamData_8587BC0 = .paletteNum = 0, }; -const struct SpriteTemplate gSpriteTemplate_8587BC8 = +static const struct SpriteTemplate sApplauseMeterSpriteTemplate = { - .tileTag = 0xABE2, - .paletteTag = 0xABE2, - .oam = &gOamData_8587BC0, + .tileTag = APPLAUSE_METER_GFX_TAG, + .paletteTag = APPLAUSE_METER_GFX_TAG, + .oam = &sApplauseMeterOamData, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -565,7 +590,7 @@ const u16 gUnknown_08587C30[] = INCBIN_U16("graphics/unknown/unknown_587C30.gbap #include "data/contest_text_tables.h" -const struct BgTemplate gUnknown_08587F34[] = +static const struct BgTemplate sContestBgTemplates[] = { { .bg = 0, @@ -605,9 +630,9 @@ const struct BgTemplate gUnknown_08587F34[] = } }; -const struct WindowTemplate gUnknown_08587F44[] = +static const struct WindowTemplate sContestWindowTemplates[] = { - { + [CONTEST_WINDOW_CONTESTANT0_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 0, @@ -616,7 +641,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x200 }, - { + [CONTEST_WINDOW_CONTESTANT1_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 5, @@ -625,7 +650,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x218 }, - { + [CONTEST_WINDOW_CONTESTANT2_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 10, @@ -634,7 +659,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x230 }, - { + [CONTEST_WINDOW_CONTESTANT3_NAME] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 15, @@ -643,7 +668,7 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x248 }, - { + [CONTEST_WINDOW_GENERAL_TEXT] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -652,55 +677,55 @@ const struct WindowTemplate gUnknown_08587F44[] = .paletteNum = 0xF, .baseBlock = 0x260 }, - { + [CONTEST_WINDOW_MOVE0] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x1F, + .tilemapTop = 31, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2A4 }, - { + [CONTEST_WINDOW_MOVE1] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x21, + .tilemapTop = 33, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2B6 }, - { + [CONTEST_WINDOW_MOVE2] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x23, + .tilemapTop = 35, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2C8 }, - { + [CONTEST_WINDOW_MOVE3] = { .bg = 0, .tilemapLeft = 1, - .tilemapTop = 0x25, + .tilemapTop = 37, .width = 9, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2DA }, - { + [CONTEST_WINDOW_SLASH] = { .bg = 0, .tilemapLeft = 16, - .tilemapTop = 0x1F, + .tilemapTop = 31, .width = 1, .height = 2, .paletteNum = 0xF, .baseBlock = 0x2EC }, - { + [CONTEST_WINDOW_MOVE_DESCRIPTION] = { .bg = 0, .tilemapLeft = 11, - .tilemapTop = 0x23, + .tilemapTop = 35, .width = 18, .height = 4, .paletteNum = 0xF, @@ -847,10 +872,10 @@ static void TaskDummy1(u8 taskId) void ResetLinkContestBoolean(void) { - gIsLinkContest = 0; + gLinkContestFlags = 0; } -static void sub_80D7678(void) +static void SetupContestGpuRegs(void) { u16 savedIme; @@ -882,36 +907,36 @@ void LoadContestBgAfterMoveAnim(void) LZDecompressVram(gContestMiscGfx, (void *)VRAM); LZDecompressVram(gContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4))); - CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0); + CopyToBgTilemapBuffer(3, gOldContestGfx, 0, 0); CopyBgTilemapBufferToVram(3); - LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200); + LoadCompressedPalette(gOldContestPalette, 0, 0x200); sub_80D782C(); - for (i = 0; i < MAX_MON_MOVES; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - u32 var = 5 + i; + u32 contestantWindowId = MOVE_WINDOWS_START + i; - LoadPalette(shared18000.unk18004[var], 16 * (5 + gUnknown_02039F26[i]), 16 * sizeof(u16)); + LoadPalette(eUnknownHeap1A004.cachedWindowPalettes[contestantWindowId], 16 * (MOVE_WINDOWS_START + gContestantTurnOrder[i]), sizeof((eUnknownHeap1A004.cachedWindowPalettes[contestantWindowId]))); } } -static void sub_80D779C(void) +static void InitContestInfoBgs(void) { s32 i; ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_08587F34, ARRAY_COUNT(gUnknown_08587F34)); + InitBgsFromTemplates(0, sContestBgTemplates, ARRAY_COUNT(sContestBgTemplates)); SetBgAttribute(3, BG_ATTR_WRAPAROUND, 1); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - SetBgTilemapBuffer(i, gContestResources->field_24[i]); + SetBgTilemapBuffer(i, gContestResources->contestBgTilemaps[i]); } } -static void sub_80D77E4(void) +static void InitContestWindows(void) { - InitWindows(gUnknown_08587F44); + InitWindows(sContestWindowTemplates); DeactivateAllTextPrinters(); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { gTextFlags.canABSpeedUpPrint = FALSE; } @@ -932,78 +957,82 @@ static void sub_80D782C(void) FillPalette(RGB(31, 17, 31), 0xF3, 2); } -static void sub_80D787C(void) +static void InitContestResources(void) { s32 i; - *gContestResources->field_0 = (struct Contest){}; - for (i = 0; i < 4; i++) + eContest = (struct Contest){}; + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_0->unk19206[i] = 0xFF; + eContest.unused2[i] = 0xFF; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_4[i] = (struct ContestantStatus){}; + eContestantStatus[i] = (struct ContestantStatus){}; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_4[i].unkB_0 = 0; - gContestResources->field_4[i].effectStringId = CONTEST_STRING_NONE; - gContestResources->field_4[i].effectStringId2 = CONTEST_STRING_NONE; + eContestantStatus[i].ranking = 0; + eContestantStatus[i].effectStringId = CONTEST_STRING_NONE; + eContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; } - *gContestResources->field_8 = (struct UnknownContestStruct7){}; - *gContestResources->field_C = (struct ContestAIInfo){}; + eContestResources8 = (struct UnknownContestStruct7){}; + eContestAI = (struct ContestAIInfo){}; *gContestResources->field_10 = (struct UnknownContestStruct5){}; - memset(gContestResources->field_14, 0, 4 * sizeof(struct UnknownContestStruct4)); - if (!(gIsLinkContest & 1)) - sub_80DCE58(0); - for (i = 0; i < 4; i++) + memset(gContestResources->field_14, 0, CONTESTANT_COUNT * sizeof(struct UnknownContestStruct4)); + + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) + SortContestants(FALSE); + + for (i = 0; i < CONTESTANT_COUNT; i++) { - gContestResources->field_4[i].nextTurnOrder = 0xFF; - gContestResources->field_0->unk19218[i] = gUnknown_02039F26[i]; + eContestantStatus[i].nextTurnOrder = 0xFF; + eContest.prevTurnOrder[i] = gContestantTurnOrder[i]; } - sub_80DD590(); - memset(gContestResources->field_1c, 0, sizeof(*gContestResources->field_1c) * 4); + // Calling this here while all the nextTurnOrder values are 0xFF will actually + // just reverse the turn order. + ApplyNextTurnOrder(); + memset(gContestResources->field_1c, 0, sizeof(*gContestResources->field_1c) * CONTESTANT_COUNT); } -static void sub_80D7988(void) +static void AllocContestResources(void) { gContestResources = AllocZeroed(sizeof(struct ContestResources)); - gContestResources->field_0 = AllocZeroed(sizeof(struct Contest)); - gContestResources->field_4 = AllocZeroed(sizeof(struct ContestantStatus) * 4); + gContestResources->contest = AllocZeroed(sizeof(struct Contest)); + gContestResources->status = AllocZeroed(sizeof(struct ContestantStatus) * CONTESTANT_COUNT); gContestResources->field_8 = AllocZeroed(sizeof(struct UnknownContestStruct7)); - gContestResources->field_C = AllocZeroed(sizeof(struct ContestAIInfo)); - gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * 4); - gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * 4); + gContestResources->aiData = AllocZeroed(sizeof(struct ContestAIInfo)); + gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * CONTESTANT_COUNT); + gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * CONTESTANT_COUNT); gContestResources->field_18 = AllocZeroed(sizeof(struct ContestStruct_field_18)); - gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C) * 4); + gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C) * CONTESTANT_COUNT); gContestResources->field_20 = AllocZeroed(sizeof(struct ContestResourcesField20)); - gContestResources->field_24[0] = AllocZeroed(0x1000); - gContestResources->field_24[1] = AllocZeroed(0x1000); - gContestResources->field_24[2] = AllocZeroed(0x1000); - gContestResources->field_24[3] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[0] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[1] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[2] = AllocZeroed(0x1000); + gContestResources->contestBgTilemaps[3] = AllocZeroed(0x1000); gContestResources->field_34 = AllocZeroed(0x800); gContestResources->field_38 = AllocZeroed(0x800); gContestResources->field_3c = AllocZeroed(0x2000); gUnknown_0202305C = gContestResources->field_3c; - gUnknown_02023060 = gContestResources->field_24[1]; + gUnknown_02023060 = gContestResources->contestBgTilemaps[1]; } -static void sub_80D7A5C(void) +static void FreeContestResources(void) { - FREE_AND_SET_NULL(gContestResources->field_0); - FREE_AND_SET_NULL(gContestResources->field_4); + FREE_AND_SET_NULL(gContestResources->contest); + FREE_AND_SET_NULL(gContestResources->status); FREE_AND_SET_NULL(gContestResources->field_8); - FREE_AND_SET_NULL(gContestResources->field_C); + FREE_AND_SET_NULL(gContestResources->aiData); FREE_AND_SET_NULL(gContestResources->field_10); FREE_AND_SET_NULL(gContestResources->field_14); FREE_AND_SET_NULL(gContestResources->field_18); FREE_AND_SET_NULL(gContestResources->field_1c); FREE_AND_SET_NULL(gContestResources->field_20); - FREE_AND_SET_NULL(gContestResources->field_24[0]); - FREE_AND_SET_NULL(gContestResources->field_24[1]); - FREE_AND_SET_NULL(gContestResources->field_24[2]); - FREE_AND_SET_NULL(gContestResources->field_24[3]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[0]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[1]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[2]); + FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[3]); FREE_AND_SET_NULL(gContestResources->field_34); FREE_AND_SET_NULL(gContestResources->field_38); FREE_AND_SET_NULL(gContestResources->field_3c); @@ -1012,20 +1041,20 @@ static void sub_80D7A5C(void) gUnknown_02023060 = NULL; } -void sub_80D7B24(void) +void CB2_StartContest(void) { switch (gMain.state) { case 0: sContestBgCopyFlags = 0; - sub_80D7988(); + AllocContestResources(); AllocateMonSpritesGfx(); FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed); gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x4000); SetVBlankCallback(NULL); - sub_80D779C(); - sub_80D77E4(); - sub_80D7678(); + InitContestInfoBgs(); + InitContestWindows(); + SetupContestGpuRegs(); ScanlineEffect_Clear(); ResetPaletteFade(); gPaletteFade.bufferTransferDisabled = TRUE; @@ -1033,19 +1062,18 @@ void sub_80D7B24(void) ResetTasks(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; - //shared18000.unk18000 = 0; - gHeap[0x1a000] = 0; + eContestDebugMode = CONTEST_DEBUG_MODE_OFF; ClearBattleMonForms(); - sub_80D787C(); + InitContestResources(); gMain.state++; break; case 1: gMain.state++; break; case 2: - if (sub_80D7E44(&gContestResources->field_0->unk1925D)) + if (SetupContestGraphics(&eContest.contestSetupState)) { - gContestResources->field_0->unk1925D = 0; + eContest.contestSetupState = 0; gMain.state++; } break; @@ -1056,11 +1084,11 @@ void sub_80D7B24(void) BeginFastPaletteFade(2); gPaletteFade.bufferTransferDisabled = FALSE; SetVBlankCallback(vblank_cb_battle); - gContestResources->field_0->mainTaskId = CreateTask(sub_80D7C7C, 10); - SetMainCallback2(sub_80D823C); - if (gIsLinkContest & 2) + eContest.mainTaskId = CreateTask(sub_80D7C7C, 10); + SetMainCallback2(CB2_ContestMain); + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(8, 8); } break; @@ -1078,14 +1106,14 @@ static void sub_80D7C7C(u8 taskId) static void sub_80D7CB4(u8 taskId) { - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { switch (gTasks[taskId].data[0]) { case 0: - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0]++; // fallthrough case 1: @@ -1106,8 +1134,8 @@ static void sub_80D7CB4(u8 taskId) if (!gPaletteFade.active) { gPaletteFade.bufferTransferDisabled = FALSE; - if (!(gIsLinkContest & 2)) - sub_80DBF68(); + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) + ContestPrintLinkStandby(); CreateTask(sub_80D7DAC, 0); gTasks[taskId].data[0] = 0; gTasks[taskId].func = TaskDummy1; @@ -1137,17 +1165,17 @@ static void sub_80D7DE8(u8 taskId) { GetMultiplayerId(); // unused return value DestroyTask(taskId); - gTasks[gContestResources->field_0->mainTaskId].func = sub_80D80C8; + gTasks[eContest.mainTaskId].func = sub_80D80C8; gRngValue = gContestRngValue; } } -static u8 sub_80D7E44(u8 *a) +static bool8 SetupContestGraphics(u8 *stateVar) { - u16 sp0[16]; - u16 sp20[16]; + u16 tempPalette1[16]; + u16 tempPalette2[16]; - switch (*a) + switch (*stateVar) { case 0: gPaletteFade.bufferTransferDisabled = TRUE; @@ -1160,31 +1188,32 @@ static u8 sub_80D7E44(u8 *a) break; case 2: LZDecompressVram(gContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4))); - DmaCopyLarge32(3, (void *)(BG_SCREEN_ADDR(4)), shared15800, 0x2000, 0x1000); + DmaCopyLarge32(3, (void *)(BG_SCREEN_ADDR(4)), eUnzippedContestAudienceGfx, 0x2000, 0x1000); break; case 3: - CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0); + CopyToBgTilemapBuffer(3, gOldContestGfx, 0, 0); CopyBgTilemapBufferToVram(3); break; case 4: CopyToBgTilemapBuffer(2, gUnknown_08C17170, 0, 0); CopyBgTilemapBufferToVram(2); - DmaCopy32Defvars(3, gContestResources->field_24[2], shared18000.unk18A04, 0x800); + // This is a bug, and copies random junk. savedJunk is never read. + DmaCopy32Defvars(3, gContestResources->contestBgTilemaps[2], eUnknownHeap1A004.savedJunk, sizeof(eUnknownHeap1A004.savedJunk)); break; case 5: - LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200); - CpuCopy32(gPlttBufferUnfaded + 128, sp0, 16 * sizeof(u16)); - CpuCopy32(gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, sp20, 16 * sizeof(u16)); - CpuCopy32(sp20, gPlttBufferUnfaded + 128, 16 * sizeof(u16)); - CpuCopy32(sp0, gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, 16 * sizeof(u16)); - DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18004, 0x200); + LoadCompressedPalette(gOldContestPalette, 0, 0x200); + CpuCopy32(gPlttBufferUnfaded + 128, tempPalette1, 16 * sizeof(u16)); + CpuCopy32(gPlttBufferUnfaded + (MOVE_WINDOWS_START + gContestPlayerMonIndex) * 16, tempPalette2, 16 * sizeof(u16)); + CpuCopy32(tempPalette2, gPlttBufferUnfaded + 128, 16 * sizeof(u16)); + CpuCopy32(tempPalette1, gPlttBufferUnfaded + (MOVE_WINDOWS_START + gContestPlayerMonIndex) * 16, 16 * sizeof(u16)); + DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.cachedWindowPalettes, sizeof(eUnknownHeap1A004.cachedWindowPalettes)); sub_80D782C(); break; case 6: - sub_80DD04C(); - sub_80DBF90(); - sub_80DB2BC(); - gContestResources->field_0->unk19216 = sub_80DB120(); + DrawContestantWindows(); + FillContestantWindowBgs(); + SwapMoveDescAndContestTilemaps(); + eContest.unk19216 = sub_80DB120(); sub_80DC2BC(); sub_80DC4F0(); CreateApplauseMeterSprite(); @@ -1208,12 +1237,12 @@ static u8 sub_80D7E44(u8 *a) ShowBg(1); break; default: - *a = 0; - return 1; + *stateVar = 0; + return TRUE; } - (*a)++; - return 0; + (*stateVar)++; + return FALSE; } static void sub_80D80C8(u8 taskId) @@ -1256,13 +1285,13 @@ static void sub_80D8108(u8 taskId) ((struct BgCnt *)&bg2Cnt)->priority = 0; SetGpuReg(REG_OFFSET_BG0CNT, bg0Cnt); SetGpuReg(REG_OFFSET_BG2CNT, bg2Cnt); - sub_80DDB0C(); + StartMoveApplauseMeterOnscreen(); gTasks[taskId].data[0]++; break; } case 4: default: - if (gContestResources->field_0->unk1920A_6) + if (eContest.applauseMeterIsMoving) break; gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; @@ -1271,7 +1300,7 @@ static void sub_80D8108(u8 taskId) } } -static void sub_80D823C(void) +static void CB2_ContestMain(void) { s32 i; @@ -1314,16 +1343,16 @@ static void sub_80D833C(u8 taskId) { gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; - sub_80DCD48(); - DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400); - ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + ContestDebugDoPrint(); + DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.unk18204, PLTT_BUFFER_SIZE * 2); + ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0]++; } else @@ -1366,15 +1395,15 @@ static void sub_80D8490(u8 taskId) u16 move = gContestMons[gContestPlayerMonIndex].moves[i]; u8 *r5 = sp8; - if (gContestResources->field_4[gContestPlayerMonIndex].prevMove != MOVE_NONE + if (eContestantStatus[gContestPlayerMonIndex].prevMove != MOVE_NONE && sub_80DE1E8(gContestPlayerMonIndex) - && AreMovesContestCombo(gContestResources->field_4[gContestPlayerMonIndex].prevMove, move) != 0 - && gContestResources->field_4[gContestPlayerMonIndex].hasJudgesAttention) + && AreMovesContestCombo(eContestantStatus[gContestPlayerMonIndex].prevMove, move) != 0 + && eContestantStatus[gContestPlayerMonIndex].hasJudgesAttention) { r5 = StringCopy(sp8, gText_ColorLightShadowDarkGrey); } else if (move != 0 - && gContestResources->field_4[gContestPlayerMonIndex].prevMove == move + && eContestantStatus[gContestPlayerMonIndex].prevMove == move && gContestMoves[move].effect != CONTEST_EFFECT_REPETITION_NOT_BORING) { // Gray the text because it is a repeated move @@ -1382,12 +1411,12 @@ static void sub_80D8490(u8 taskId) } r5 = StringCopy(r5, gMoveNames[move]); - FillWindowPixelBuffer(i + 5, PIXEL_FILL(0)); - Contest_PrintTextToBg0WindowAt(i + 5, sp8, 5, 1, 7); + FillWindowPixelBuffer(i + MOVE_WINDOWS_START, PIXEL_FILL(0)); + Contest_PrintTextToBg0WindowAt(i + MOVE_WINDOWS_START, sp8, 5, 1, 7); } - sub_80D880C(gContestResources->field_0->playerMoveChoice); - prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + sub_80D880C(eContest.playerMoveChoice); + PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]); gTasks[taskId].func = sub_80D8610; } @@ -1414,12 +1443,12 @@ static void sub_80D8610(u8 taskId) case B_BUTTON: PlaySE(SE_SELECT); sub_80DC490(FALSE); - ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); Contest_StartTextPrinter(gStringVar4, 0); gBattle_BG0_Y = 0; @@ -1430,24 +1459,24 @@ static void sub_80D8610(u8 taskId) case DPAD_RIGHT: break; case DPAD_UP: - sub_80D883C(gContestResources->field_0->playerMoveChoice); - if (gContestResources->field_0->playerMoveChoice == 0) - gContestResources->field_0->playerMoveChoice = numMoves - 1; + sub_80D883C(eContest.playerMoveChoice); + if (eContest.playerMoveChoice == 0) + eContest.playerMoveChoice = numMoves - 1; else - gContestResources->field_0->playerMoveChoice--; - sub_80D880C(gContestResources->field_0->playerMoveChoice); - prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + eContest.playerMoveChoice--; + sub_80D880C(eContest.playerMoveChoice); + PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]); if (numMoves > 1) PlaySE(SE_SELECT); break; case DPAD_DOWN: - sub_80D883C(gContestResources->field_0->playerMoveChoice); - if (gContestResources->field_0->playerMoveChoice == numMoves - 1) - gContestResources->field_0->playerMoveChoice = 0; + sub_80D883C(eContest.playerMoveChoice); + if (eContest.playerMoveChoice == numMoves - 1) + eContest.playerMoveChoice = 0; else - gContestResources->field_0->playerMoveChoice++; - sub_80D880C(gContestResources->field_0->playerMoveChoice); - prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + eContest.playerMoveChoice++; + sub_80D880C(eContest.playerMoveChoice); + PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]); if (numMoves > 1) PlaySE(SE_SELECT); break; @@ -1468,21 +1497,21 @@ static void sub_80D883C(s8 a0) static void sub_80D8894(u8 taskId) { - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { - u16 var = GetChosenMove(gContestPlayerMonIndex); + u16 move = GetChosenMove(gContestPlayerMonIndex); u8 taskId2; - gContestResources->field_4[gContestPlayerMonIndex].currMove = var; + eContestantStatus[gContestPlayerMonIndex].currMove = move; taskId2 = CreateTask(sub_80FC9F8, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FC9F8, sub_80D892C); gTasks[taskId].func = TaskDummy1; - sub_80DBF68(); + ContestPrintLinkStandby(); sub_80DC490(FALSE); } else { - sub_80DB918(); + GetAllChosenMoves(); gTasks[taskId].func = sub_80D895C; } } @@ -1490,28 +1519,28 @@ static void sub_80D8894(u8 taskId) static void sub_80D892C(u8 taskId) { DestroyTask(taskId); - gTasks[gContestResources->field_0->mainTaskId].func = sub_80D895C; + gTasks[eContest.mainTaskId].func = sub_80D895C; } static void sub_80D895C(u8 taskId) { s32 i; - sub_80DB89C(); + ContestClearGeneralTextWindow(); gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; sub_80DC490(FALSE); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - FillWindowPixelBuffer(5 + i, PIXEL_FILL(0)); - PutWindowTilemap(5 + i); - CopyWindowToVram(5 + i, 2); + FillWindowPixelBuffer(MOVE_WINDOWS_START + i, PIXEL_FILL(0)); + PutWindowTilemap(MOVE_WINDOWS_START + i); + CopyWindowToVram(MOVE_WINDOWS_START + i, 2); } Contest_SetBgCopyFlags(0); - - DmaCopy32Defvars(3, gPlttBufferFaded, shared18000.unk18604, 0x400); - LoadPalette(shared18000.unk18204, 0, 0x400); + // This seems to be a bug; it should have just copied PLTT_BUFFER_SIZE. + DmaCopy32Defvars(3, gPlttBufferFaded, eUnknownHeap1A004.unk18604, PLTT_BUFFER_SIZE * 2); + LoadPalette(eUnknownHeap1A004.unk18204, 0, PLTT_BUFFER_SIZE * 2); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; gTasks[taskId].func = sub_80D8A04; @@ -1524,7 +1553,7 @@ static void sub_80D8A04(u8 taskId) gTasks[taskId].data[0] = 0; if (++gTasks[taskId].data[1] == 2) { - sub_80DDBE8(); + TryMoveApplauseMeterOffscreen(); sub_80DE69C(1); gTasks[taskId].func = sub_80D8A50; } @@ -1533,7 +1562,7 @@ static void sub_80D8A04(u8 taskId) static void sub_80D8A50(u8 taskId) { - if (!gContestResources->field_0->unk1920A_6 && !gContestResources->field_0->unk1920B_1) + if (!eContest.applauseMeterIsMoving && !eContest.unk1920B_1) gTasks[taskId].func = sub_80D8A88; } @@ -1541,15 +1570,15 @@ static void sub_80D8A88(u8 taskId) { if (++gTasks[taskId].data[0] > 19) { - gContestResources->field_0->unk19214 = 0; - gContestResources->field_0->unk1921C = gRngValue; - if ((gIsLinkContest & 1) && sub_80DA8A4()) + eContest.unk19214 = 0; + eContest.unk1921C = gRngValue; + if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && sub_80DA8A4()) { s32 i; for (i = 0; i + gNumLinkContestPlayers < 4; i++) { - gContestResources->field_4[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i); + eContestantStatus[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i); } } gTasks[taskId].data[0] = 0; @@ -1561,50 +1590,50 @@ static void sub_80D8B38(u8 taskId) { u8 spriteId; s32 i; - u8 r6 = gContestResources->field_0->unk19215; + u8 r6 = eContest.unk19215; s8 r3; switch (gTasks[taskId].data[0]) { case 0: - sub_80DCD48(); - for (i = 0; gContestResources->field_0->unk19214 != gContestResources->field_8->turnOrder[i]; i++) + ContestDebugDoPrint(); + for (i = 0; eContest.unk19214 != gContestResources->field_8->turnOrder[i]; i++) ; - gContestResources->field_0->unk19215 = i; - r6 = gContestResources->field_0->unk19215; - if (gIsLinkContest & 1) + eContest.unk19215 = i; + r6 = eContest.unk19215; + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { u8 taskId2; - gContestResources->field_0->unk1920B_2 = 1; + eContest.unk1920B_2 = 1; if (sub_80DA8A4()) - sub_80DD080(gContestResources->field_0->unk19215); + sub_80DD080(eContest.unk19215); taskId2 = CreateTask(sub_80FCC88, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0] = 1; } else { - sub_80DD080(gContestResources->field_0->unk19215); + sub_80DD080(eContest.unk19215); gTasks[taskId].data[0] = 2; } return; case 1: - if (!gContestResources->field_0->unk1920B_2) + if (!eContest.unk1920B_2) gTasks[taskId].data[0] = 2; return; case 2: sub_80DF080(r6); - sub_80DF750(); - if (gContestResources->field_4[r6].numTurnsSkipped != 0 - || gContestResources->field_4[r6].noMoreTurns) + ContestDebugPrintBitStrings(); + if (eContestantStatus[r6].numTurnsSkipped != 0 + || eContestantStatus[r6].noMoreTurns) { gTasks[taskId].data[0] = 31; } else { - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 3; } @@ -1613,17 +1642,17 @@ static void sub_80D8B38(u8 taskId) for (i = 0; i < 4; i++) gBattleMonForms[i] = 0; memset(gContestResources->field_18, 0, sizeof(*gContestResources->field_18)); - sub_80DE9DC(gContestResources->field_0->unk19215); + sub_80DE9DC(eContest.unk19215); spriteId = sub_80DB174( - gContestMons[gContestResources->field_0->unk19215].species, - gContestMons[gContestResources->field_0->unk19215].otId, - gContestMons[gContestResources->field_0->unk19215].personality, - gContestResources->field_0->unk19215); + gContestMons[eContest.unk19215].species, + gContestMons[eContest.unk19215].otId, + gContestMons[eContest.unk19215].personality, + eContest.unk19215); gSprites[spriteId].pos2.x = 120; gSprites[spriteId].callback = sub_80DA134; gTasks[taskId].data[2] = spriteId; gBattlerSpriteIds[gBattlerAttacker] = spriteId; - sub_80DCBE8(sub_80DC9EC(gContestResources->field_0->unk19215), FALSE); + sub_80DCBE8(sub_80DC9EC(eContest.unk19215), FALSE); gTasks[taskId].data[0] = 4; return; case 4: @@ -1635,18 +1664,18 @@ static void sub_80D8B38(u8 taskId) } return; case 5: - if (gContestResources->field_4[r6].nervous) + if (eContestantStatus[r6].nervous) { gTasks[taskId].data[0] = 33; } else { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - if (gContestResources->field_4[r6].currMove < MOVES_COUNT) - StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + if (eContestantStatus[r6].currMove < MOVES_COUNT) + StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); else - StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]); + StringCopy(gStringVar2, gUnknown_08587F1C[eContestantStatus[r6].moveCategory]); StringExpandPlaceholders(gStringVar4, gText_0827D55A); Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 6; @@ -1655,16 +1684,16 @@ static void sub_80D8B38(u8 taskId) case 6: if (!Contest_RunTextPrinters()) { - gContestResources->field_0->unk1925E = 0; + eContest.unk1925E = 0; gTasks[taskId].data[0] = 7; } return; case 7: { - u16 move = SanitizeMove(gContestResources->field_4[gContestResources->field_0->unk19215].currMove); + u16 move = SanitizeMove(eContestantStatus[eContest.unk19215].currMove); - sub_80DE864(gContestResources->field_0->unk19215); - sub_80DE9DC(gContestResources->field_0->unk19215); + sub_80DE864(eContest.unk19215); + sub_80DE9DC(eContest.unk19215); SelectContestMoveBankTarget(move); DoMoveAnim(move); gTasks[taskId].data[0] = 8; @@ -1675,14 +1704,14 @@ static void sub_80D8B38(u8 taskId) if (!gAnimScriptActive) { sub_80DE9B0(r6); - if (gContestResources->field_0->unk1925E != 0) + if (eContest.unk1925E != 0) { gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 9; } else { - if (!gContestResources->field_4[r6].hasJudgesAttention) + if (!eContestantStatus[r6].hasJudgesAttention) sub_80DC674(r6); sub_80DE12C(); gTasks[taskId].data[0] = 23; @@ -1698,25 +1727,25 @@ static void sub_80D8B38(u8 taskId) return; case 23: gTasks[taskId].data[1] = 0; - if (gContestResources->field_4[r6].effectStringId != CONTEST_STRING_NONE) + if (eContestantStatus[r6].effectStringId != CONTEST_STRING_NONE) { - sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId); - gContestResources->field_4[r6].effectStringId = CONTEST_STRING_NONE; + sub_80DD45C(r6, eContestantStatus[r6].effectStringId); + eContestantStatus[r6].effectStringId = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 24; } else { - if (gContestResources->field_4[r6].effectStringId2 != CONTEST_STRING_NONE) + if (eContestantStatus[r6].effectStringId2 != CONTEST_STRING_NONE) { for (i = 0; i < 4; i++) { - if (i != r6 && gContestResources->field_4[i].effectStringId != CONTEST_STRING_NONE) + if (i != r6 && eContestantStatus[i].effectStringId != CONTEST_STRING_NONE) break; } if (i == 4) { - sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId2); - gContestResources->field_4[r6].effectStringId2 = CONTEST_STRING_NONE; + sub_80DD45C(r6, eContestantStatus[r6].effectStringId2); + eContestantStatus[r6].effectStringId2 = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 24; } else @@ -1735,15 +1764,15 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 23; return; case 48: - if (gContestResources->field_4[r6].turnOrderModAction == 1) + if (eContestantStatus[r6].turnOrderModAction == 1) { sub_80DD720(5); } - else if (gContestResources->field_4[r6].turnOrderModAction == 2) + else if (eContestantStatus[r6].turnOrderModAction == 2) { sub_80DD720(6); } - else if (gContestResources->field_4[r6].turnOrderModAction == 3) + else if (eContestantStatus[r6].turnOrderModAction == 3) { sub_80DD720(7); } @@ -1755,7 +1784,7 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 49; return; case 49: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) gTasks[taskId].data[0] = 47; return; case 47: @@ -1763,20 +1792,20 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 12; return; case 12: - sub_80DC028(0, gContestResources->field_4[r6].appeal2, r6); + sub_80DC028(0, eContestantStatus[r6].appeal2, r6); gTasks[taskId].data[0] = 13; return; case 13: - if (!gContestResources->field_14[gContestResources->field_0->unk19215].unk2_2) + if (!gContestResources->field_14[eContest.unk19215].unk2_2) gTasks[taskId].data[0] = 35; return; case 35: - if (gContestResources->field_4[r6].conditionMod == 1) + if (eContestantStatus[r6].conditionMod == 1) sub_80DD720(8); gTasks[taskId].data[0] = 36; return; case 36: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) gTasks[taskId].data[0] = 37; return; case 37: @@ -1816,8 +1845,8 @@ static void sub_80D8B38(u8 taskId) r3 = 0; for (r2 = 0; r2 < 4; r2++) { - if (r2 != r6 && gUnknown_02039F26[r2] == i - && gContestResources->field_4[r2].effectStringId != CONTEST_STRING_NONE) + if (r2 != r6 && gContestantTurnOrder[r2] == i + && eContestantStatus[r2].effectStringId != CONTEST_STRING_NONE) { r3 = 1; break; @@ -1828,9 +1857,9 @@ static void sub_80D8B38(u8 taskId) } if (r3) { - gTasks[taskId].data[1] = gUnknown_02039F26[r2]; - sub_80DD45C(r2, gContestResources->field_4[r2].effectStringId); - gContestResources->field_4[r2].effectStringId = CONTEST_STRING_NONE; + gTasks[taskId].data[1] = gContestantTurnOrder[r2]; + sub_80DD45C(r2, eContestantStatus[r2].effectStringId); + eContestantStatus[r2].effectStringId = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 27; } else @@ -1847,19 +1876,19 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 28; return; case 28: - for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++) ; - sub_80DC028(gContestResources->field_4[i].appeal2 + gContestResources->field_4[i].jam, -gContestResources->field_4[i].jam, i); + sub_80DC028(eContestantStatus[i].appeal2 + eContestantStatus[i].jam, -eContestantStatus[i].jam, i); gTasks[taskId].data[0] = 29; return; case 29: - for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++) ; if (!gContestResources->field_14[i].unk2_2) gTasks[taskId].data[0] = 39; return; case 39: - for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++) ; if (sub_80DB5B8(i, 1)) { @@ -1881,17 +1910,17 @@ static void sub_80D8B38(u8 taskId) case 30: for (i = 0; i < 4; i++) { - if (gUnknown_02039F26[i] == gTasks[taskId].data[1]) + if (gContestantTurnOrder[i] == gTasks[taskId].data[1]) break; } if (sub_80DB798(i)) PlaySE(SE_C_PASI); else PlaySE(SE_C_SYU); - if (gContestResources->field_4[i].judgesAttentionWasRemoved) + if (eContestantStatus[i].judgesAttentionWasRemoved) { sub_80DC674(i); - gContestResources->field_4[i].judgesAttentionWasRemoved = 0; + eContestantStatus[i].judgesAttentionWasRemoved = 0; } gTasks[taskId].data[1]++; gTasks[taskId].data[0] = 26; @@ -1900,10 +1929,10 @@ static void sub_80D8B38(u8 taskId) if (gTasks[taskId].data[10]++ > 9) { gTasks[taskId].data[10] = 0; - if (gContestResources->field_4[r6].numTurnsSkipped != 0 - || gContestResources->field_4[r6].turnSkipped) + if (eContestantStatus[r6].numTurnsSkipped != 0 + || eContestantStatus[r6].turnSkipped) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827E793); Contest_StartTextPrinter(gStringVar4, 1); @@ -1914,30 +1943,30 @@ static void sub_80D8B38(u8 taskId) case 52: if (!Contest_RunTextPrinters()) { - if (!gContestResources->field_4[r6].unk15_6) + if (!eContestantStatus[r6].unk15_6) gTasks[taskId].data[0] = 17; else gTasks[taskId].data[0] = 14; } return; case 14: - r3 = gContestResources->field_4[r6].unk16; - if (gContestResources->field_4[r6].unk16 != 0) + r3 = eContestantStatus[r6].unk16; + if (eContestantStatus[r6].unk16 != 0) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); if (r3 == 1) - Contest_StartTextPrinter(gText_0827E32E, 1); + Contest_StartTextPrinter(gText_0827E32E, TRUE); else if (r3 == 2) - Contest_StartTextPrinter(gText_0827E35B, 1); + Contest_StartTextPrinter(gText_0827E35B, TRUE); else - Contest_StartTextPrinter(gText_0827E38D, 1); + Contest_StartTextPrinter(gText_0827E38D, TRUE); sub_80DD720(3); gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 45; } else { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827E2FE); Contest_StartTextPrinter(gStringVar4, 1); @@ -1947,9 +1976,9 @@ static void sub_80D8B38(u8 taskId) } return; case 45: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) { - sub_80DC9B4(gContestResources->field_0->unk19215); + sub_80DC9B4(eContest.unk19215); gTasks[taskId].data[0] = 15; } return; @@ -1958,13 +1987,13 @@ static void sub_80D8B38(u8 taskId) { if (++gTasks[taskId].data[10] > 50) { - if (!gContestResources->field_4[r6].hasJudgesAttention) + if (!eContestantStatus[r6].hasJudgesAttention) { sub_80DC028( - gContestResources->field_4[r6].appeal2, - gContestResources->field_4[r6].unk17, + eContestantStatus[r6].appeal2, + eContestantStatus[r6].unk17, r6); - gContestResources->field_4[r6].appeal2 += gContestResources->field_4[r6].unk17; + eContestantStatus[r6].appeal2 += eContestantStatus[r6].unk17; } gTasks[taskId].data[0] = 16; } @@ -1978,12 +2007,12 @@ static void sub_80D8B38(u8 taskId) } return; case 17: - if (gContestResources->field_4[r6].disappointedRepeat) + if (eContestantStatus[r6].disappointedRepeat) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringExpandPlaceholders(gStringVar4, gText_0827E6E3); - Contest_StartTextPrinter(gStringVar4, 1); + StringExpandPlaceholders(gStringVar4, gText_RepeatedAppeal); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[10] = 0; sub_80DD720(0); gTasks[taskId].data[0] = 46; @@ -1994,23 +2023,23 @@ static void sub_80D8B38(u8 taskId) } return; case 46: - if (!gContestResources->field_0->unk1920A_4) + if (!eContest.unk1920A_4) gTasks[taskId].data[0] = 19; return; case 19: if (!Contest_RunTextPrinters()) { - sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6); - gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18; + sub_80DC028(eContestantStatus[r6].appeal2, -eContestantStatus[r6].unk18, r6); + eContestantStatus[r6].appeal2 -= eContestantStatus[r6].unk18; gTasks[taskId].data[0] = 18; } return; case 18: - sub_80DCD48(); + ContestDebugDoPrint(); if (!gContestResources->field_14[r6].unk2_2) { gTasks[taskId].data[10] = 0; - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[0] = 41; } return; @@ -2022,25 +2051,25 @@ static void sub_80D8B38(u8 taskId) else { r3 = gContestResources->field_10->bits_0; - if (gContestResources->field_4[r6].overrideCategoryExcitementMod) + if (eContestantStatus[r6].overrideCategoryExcitementMod) { r3 = 1; - StringCopy(gStringVar3, gMoveNames[gContestResources->field_4[r6].currMove]); + StringCopy(gStringVar3, gMoveNames[eContestantStatus[r6].currMove]); } else { - StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[gContestResources->field_4[r6].currMove].contestCategory]); + StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[eContestantStatus[r6].currMove].contestCategory]); } if (r3 > 0) { - if (gContestResources->field_4[r6].disappointedRepeat) + if (eContestantStatus[r6].disappointedRepeat) r3 = 0; } - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); - gContestResources->field_0->applauseLevel += r3; - if (gContestResources->field_0->applauseLevel < 0) - gContestResources->field_0->applauseLevel = 0; + eContest.applauseLevel += r3; + if (eContest.applauseLevel < 0) + eContest.applauseLevel = 0; if (r3 == 0) { gTasks[taskId].data[0] = 55; @@ -2049,7 +2078,7 @@ static void sub_80D8B38(u8 taskId) { if (r3 < 0) StringExpandPlaceholders(gStringVar4, gText_0827E73C); - else if (r3 > 0 && gContestResources->field_0->applauseLevel <= 4) + else if (r3 > 0 && eContest.applauseLevel <= 4) StringExpandPlaceholders(gStringVar4, gText_0827E717); else StringExpandPlaceholders(gStringVar4, gText_0827E76A); @@ -2072,14 +2101,14 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[10]++; break; case 1: - if (!gContestResources->field_0->unk1920B_0 && !Contest_RunTextPrinters()) + if (!eContest.unk1920B_0 && !Contest_RunTextPrinters()) { - sub_80DDCDC(-1); + ShowAndUpdateApplauseMeter(-1); gTasks[taskId].data[10]++; } break; case 2: - if (!gContestResources->field_0->unk1920A_5) + if (!eContest.isShowingApplauseMeter) { if (gTasks[taskId].data[11]++ > 29) { @@ -2110,22 +2139,22 @@ static void sub_80D8B38(u8 taskId) } break; case 1: - if (!gContestResources->field_0->unk1920B_0) + if (!eContest.unk1920B_0) { sub_80DDE0C(); PlaySE(SE_W227B); - sub_80DDCDC(1); + ShowAndUpdateApplauseMeter(1); gTasks[taskId].data[10]++; } break; case 2: - if (!gContestResources->field_0->unk1920A_5) + if (!eContest.isShowingApplauseMeter) { if (gTasks[taskId].data[11]++ > 29) { gTasks[taskId].data[11] = 0; - sub_80DC028(gContestResources->field_4[r6].appeal2, gContestResources->field_10->unk2, r6); - gContestResources->field_4[r6].appeal2 += gContestResources->field_10->unk2; + sub_80DC028(eContestantStatus[r6].appeal2, gContestResources->field_10->unk2, r6); + eContestantStatus[r6].appeal2 += gContestResources->field_10->unk2; gTasks[taskId].data[10]++; } } @@ -2133,7 +2162,7 @@ static void sub_80D8B38(u8 taskId) case 3: if (!gContestResources->field_14[r6].unk2_2) { - if (!gContestResources->field_0->unk1920A_7) + if (!eContest.unk1920A_7) { sub_80DDED0(1, -1); gTasks[taskId].data[10]++; @@ -2153,43 +2182,43 @@ static void sub_80D8B38(u8 taskId) case 43: if (!gContestResources->field_14[r6].unk2_2) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[0] = 55; } return; case 57: - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); StringExpandPlaceholders(gStringVar4, gText_0827E7EA); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 58; return; case 58: if (!Contest_RunTextPrinters()) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringExpandPlaceholders(gStringVar4, gText_0827E817); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 59; } return; case 59: if (!Contest_RunTextPrinters()) { - sub_80DB89C(); + ContestClearGeneralTextWindow(); gTasks[taskId].data[0] = 55; } return; case 33: - if (gContestResources->field_4[r6].hasJudgesAttention) - gContestResources->field_4[r6].hasJudgesAttention = 0; + if (eContestantStatus[r6].hasJudgesAttention) + eContestantStatus[r6].hasJudgesAttention = 0; sub_80DC9B4(r6); StringCopy(gStringVar1, gContestMons[r6].nickname); - StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]); StringExpandPlaceholders(gStringVar4, gText_0827E58A); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 34; return; case 34: @@ -2197,16 +2226,16 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 55; return; case 55: - sub_80DDBE8(); + TryMoveApplauseMeterOffscreen(); gTasks[taskId].data[0] = 56; return; case 56: - if (!gContestResources->field_0->unk1920A_6) + if (!eContest.applauseMeterIsMoving) { - if (gContestResources->field_0->applauseLevel > 4) + if (eContest.applauseLevel > 4) { - gContestResources->field_0->applauseLevel = 0; - sub_80DD940(); + eContest.applauseLevel = 0; + UpdateApplauseMeter(); } gTasks[taskId].data[0] = 10; } @@ -2230,10 +2259,10 @@ static void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 21; return; case 31: - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827D56F); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0] = 32; return; case 32: @@ -2248,7 +2277,7 @@ static void sub_80D8B38(u8 taskId) } return; case 22: - if (++gContestResources->field_0->unk19214 == 4) + if (++eContest.unk19214 == 4) { gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; @@ -2265,7 +2294,7 @@ static void sub_80D8B38(u8 taskId) static void sub_80DA110(u8 taskId) { - sContest.unk1920B_2 = 0; + eContest.unk1920B_2 = 0; DestroyTask(taskId); } @@ -2300,30 +2329,30 @@ static void sub_80DA198(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { u8 taskId2; - sContest.unk1920B_2 = 1; + eContest.unk1920B_2 = 1; if (sub_80DA8A4()) { - sub_80DB944(); + RankContestants(); sub_80DBA18(); } taskId2 = CreateTask(sub_80FCC88, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0] = 1; } else { - sub_80DB944(); + RankContestants(); sub_80DBA18(); gTasks[taskId].data[0] = 2; } break; case 1: - if (!sContest.unk1920B_2) + if (!eContest.unk1920B_2) gTasks[taskId].data[0] = 2; break; case 2: @@ -2354,7 +2383,7 @@ static void sub_80DA28C(u8 taskId) } break; case 1: - if (!sContest.unk1920B_1) + if (!eContest.unk1920B_1) { if (++gTasks[taskId].data[1] > 20) { @@ -2380,7 +2409,7 @@ static void sub_80DA31C(u8 taskId) static void sub_80DA348(u8 taskId) { - DmaCopy32Defvars(3, shared18000.unk18204, gPlttBufferUnfaded, 0x400); + DmaCopy32Defvars(3, eUnknownHeap1A004.unk18204, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * 2); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 2; gTasks[taskId].func = sub_80DA38C; @@ -2400,12 +2429,12 @@ static void sub_80DA3CC(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - u8 r4 = sContestantStatus[gContestPlayerMonIndex].attentionLevel; + u8 r4 = eContestantStatus[gContestPlayerMonIndex].attentionLevel; - sub_80DB89C(); + ContestClearGeneralTextWindow(); StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname); StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[0]++; } else @@ -2414,7 +2443,7 @@ static void sub_80DA3CC(u8 taskId) { gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_80DA464; - sub_80DCD48(); + ContestDebugDoPrint(); } } } @@ -2458,21 +2487,21 @@ static void sub_80DA51C(u8 taskId) ((vBgCnt *)&sp2)->priority = 0; SetGpuReg(REG_OFFSET_BG0CNT, sp0); SetGpuReg(REG_OFFSET_BG2CNT, sp2); - sContest.turnNumber++; - if (sContest.turnNumber == 5) + eContest.turnNumber++; + if (eContest.turnNumber == 5) { gTasks[taskId].func = sub_80DA5E8; } else { - sub_80DDB0C(); + StartMoveApplauseMeterOnscreen(); gTasks[taskId].func = sub_80DA5B4; } } static void sub_80DA5B4(u8 taskId) { - if (!sContest.unk1920A_6) + if (!eContest.applauseMeterIsMoving) gTasks[taskId].func = sub_80D833C; } @@ -2483,20 +2512,20 @@ static void sub_80DA5E8(u8 taskId) gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; for (i = 0; i < 4; i++) - gUnknown_02039F10[i] = sContestantStatus[i].unk4; + gUnknown_02039F10[i] = eContestantStatus[i].pointTotal; sub_80DBD18(); - sub_80DB89C(); - if (!(gIsLinkContest & 1)) - BravoTrainerPokemonProfile_BeforeInterview1(sContestantStatus[gContestPlayerMonIndex].prevMove); + ContestClearGeneralTextWindow(); + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) + BravoTrainerPokemonProfile_BeforeInterview1(eContestantStatus[gContestPlayerMonIndex].prevMove); else { sub_80DF250(); sub_80DF4F8(); - sub_80DF750(); + ContestDebugPrintBitStrings(); } gContestRngValue = gRngValue; StringExpandPlaceholders(gStringVar4, gText_0827D597); - Contest_StartTextPrinter(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, TRUE); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_80DA6B4; } @@ -2519,7 +2548,7 @@ static void sub_80DA700(u8 taskId) gBattle_BG1_Y -= 7; if ((s16)gBattle_BG1_Y < 0) gBattle_BG1_Y = 0; - if (gBattle_BG1_Y == 0) // Why cast? + if (gBattle_BG1_Y == 0) { gTasks[taskId].func = sub_80DA740; gTasks[taskId].data[0] = 0; @@ -2531,13 +2560,13 @@ static void sub_80DA740(u8 taskId) if (gTasks[taskId].data[0]++ >= 50) { gTasks[taskId].data[0] = 0; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { gTasks[taskId].func = sub_80DA7A0; } else { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = sub_80DA830; } } @@ -2549,15 +2578,15 @@ static void sub_80DA7A0(u8 taskId) SetTaskFuncWithFollowupFunc(taskId2, sub_80FCACC, sub_80DA7EC); gTasks[taskId].func = TaskDummy1; - sub_80DBF68(); + ContestPrintLinkStandby(); sub_80DC490(FALSE); } static void sub_80DA7EC(u8 taskId) { DestroyTask(taskId); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gTasks[sContest.mainTaskId].func = sub_80DA830; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[eContest.mainTaskId].func = sub_80DA830; } static void sub_80DA830(u8 taskId) @@ -2567,7 +2596,7 @@ static void sub_80DA830(u8 taskId) DestroyTask(taskId); gFieldCallback = sub_80DA874; FreeAllWindowBuffers(); - sub_80D7A5C(); + FreeContestResources(); FreeMonSpritesGfx(); SetMainCallback2(CB2_ReturnToField); } @@ -2579,9 +2608,9 @@ static void sub_80DA874(void) EnableBothScriptContexts(); } -static void sub_80DA884(void) +static void TryPutPlayerLast(void) { - if (!(gIsLinkContest & 1)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) gContestPlayerMonIndex = 3; } @@ -2603,7 +2632,7 @@ void sub_80DA8C8(u8 partyIndex) s16 tough; StringCopy(name, gSaveBlock2Ptr->playerName); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { sub_80DF9D4(name); } @@ -2612,12 +2641,12 @@ void sub_80DA8C8(u8 partyIndex) gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_BRENDAN; else gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_MAY; - gContestMons[gContestPlayerMonIndex].flags = 0; + gContestMons[gContestPlayerMonIndex].aiChecks = 0; gContestMons[gContestPlayerMonIndex].unk2C[0] = 0; gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES); GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, name); StringGetEnd10(name); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { sub_80DF9E0(name, GetMonData(&gPlayerParty[partyIndex], MON_DATA_LANGUAGE)); } @@ -2677,9 +2706,9 @@ void sub_80DAB8C(u8 contestType, u8 rank) bool8 r7 = FALSE; const u8 * r3; - sub_80DA884(); + TryPutPlayerLast(); - if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gIsLinkContest & 1)) + if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) r7 = TRUE; // Find all suitable opponents @@ -2815,55 +2844,55 @@ u8 sub_80DAE0C(struct Pokemon *pkmn) return retVal; } -static void sub_80DAEA4(void) +static void DrawContestantWindowText(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - FillWindowPixelBuffer(gUnknown_02039F26[i], PIXEL_FILL(0)); - sub_80DAF04(i); - sub_80DAF88(i); + FillWindowPixelBuffer(gContestantTurnOrder[i], PIXEL_FILL(0)); + PrintContestantTrainerName(i); + PrintContestantMonName(i); } } -static u8 *sub_80DAED4(const u8 *src, u8 color) +static u8 *Contest_CopyStringWithColor(const u8 *string, u8 color) { u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent); - ptr[-1] = color; - ptr = StringCopy(ptr, src); + ptr[-1] = color; // Overwrites the "{COLOR TRANSPARENT}" part of the string. + ptr = StringCopy(ptr, string); return ptr; } -static void sub_80DAF04(u8 a0) +static void PrintContestantTrainerName(u8 contestant) { - sub_80DAF1C(a0, a0 + 10); + PrintContestantTrainerNameWithColor(contestant, contestant + CONTESTANT_TEXT_COLOR_START); } -static void sub_80DAF1C(u8 a0, u8 a1) +static void PrintContestantTrainerNameWithColor(u8 contestant, u8 color) { u8 buffer[32]; s32 offset; StringCopy(buffer, gText_Slash); - StringAppend(buffer, gContestMons[a0].trainerName); - sub_80DAED4(buffer, a1); + StringAppend(buffer, gContestMons[contestant].trainerName); + Contest_CopyStringWithColor(buffer, color); offset = GetStringRightAlignXOffset(7, gDisplayedStringBattle, 0x60); if (offset > 55) offset = 55; - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, offset, 1, 7); } -static void sub_80DAF88(u8 a0) +static void PrintContestantMonName(u8 contestant) { - sub_80DAFA0(a0, a0 + 10); + PrintContestantMonNameWithColor(contestant, contestant + CONTESTANT_TEXT_COLOR_START); } -static void sub_80DAFA0(u8 a0, u8 a1) +static void PrintContestantMonNameWithColor(u8 contestant, u8 color) { - sub_80DAED4(gContestMons[a0].nickname, a1); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7); + Contest_CopyStringWithColor(gContestMons[contestant].nickname, color); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, 5, 1, 7); } static u16 sub_80DAFE0(u8 who, u8 contestCategory) @@ -2973,10 +3002,13 @@ bool8 IsSpeciesNotUnown(u16 species) return TRUE; } -static void sub_80DB2BC(void) +// The contestant info windows and general-purpose text box are drawn on one half, while +// the moves and move description windows are drawn on another screen. Only the first 32 * 20 +// tiles are actually drawn on screen. +static void SwapMoveDescAndContestTilemaps(void) { - CpuCopy16(gContestResources->field_24[0], gContestResources->field_24[0] + 0x500, 0x280); - CpuCopy16(gContestResources->field_24[2], gContestResources->field_24[2] + 0x500, 0x280); + CpuCopy16(gContestResources->contestBgTilemaps[0], gContestResources->contestBgTilemaps[0] + 0x500, 32 * 20); + CpuCopy16(gContestResources->contestBgTilemaps[2], gContestResources->contestBgTilemaps[2] + 0x500, 32 * 20); } static u16 sub_80DB2EC(u16 a0, u8 a1) @@ -3002,12 +3034,13 @@ static u16 sub_80DB2EC(u16 a0, u8 a1) return var; } -static void prints_contest_move_description(u16 a) +static void PrintContestMoveDescription(u16 a) { u8 category; u16 categoryTile; u8 numHearts; + // The contest category icon is implemented as a 5x2 group of tiles. category = gContestMoves[a].contestCategory; if (category == CONTEST_CATEGORY_COOL) categoryTile = 0x4040; @@ -3029,7 +3062,9 @@ static void prints_contest_move_description(u16 a) numHearts = gContestEffects[gContestMoves[a].effect].appeal / 10; if (numHearts > 8) numHearts = 8; + // Filled-in hearts ContestBG_FillBoxWithTile(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11); + // Empty hearts ContestBG_FillBoxWithTile(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11); if (gContestEffects[gContestMoves[a].effect].jam == 0xFF) @@ -3038,17 +3073,19 @@ static void prints_contest_move_description(u16 a) numHearts = gContestEffects[gContestMoves[a].effect].jam / 10; if (numHearts > 8) numHearts = 8; + // Filled-in hearts ContestBG_FillBoxWithTile(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11); + // Empty hearts ContestBG_FillBoxWithTile(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11); - FillWindowPixelBuffer(10, PIXEL_FILL(0)); - Contest_PrintTextToBg0WindowStd(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]); - Contest_PrintTextToBg0WindowStd(9, gText_Slash); + FillWindowPixelBuffer(CONTEST_WINDOW_MOVE_DESCRIPTION, PIXEL_FILL(0)); + Contest_PrintTextToBg0WindowStd(CONTEST_WINDOW_MOVE_DESCRIPTION, gContestEffectDescriptionPointers[gContestMoves[a].effect]); + Contest_PrintTextToBg0WindowStd(CONTEST_WINDOW_SLASH, gText_Slash); } static void sub_80DB4E0(u16 move, u8 b) { - u8 r7 = gUnknown_02039F26[b] * 5 + 2; + u8 r7 = gContestantTurnOrder[b] * 5 + 2; if (!Contest_IsMonsTurnDisabled(b) && move != MOVE_NONE) { @@ -3068,7 +3105,7 @@ static void sub_80DB584(void) s32 i; for (i = 0; i < 4; i++) - sub_80DB4E0(gContestResources->field_4[i].currMove, i); + sub_80DB4E0(eContestantStatus[i].currMove, i); } static u16 sub_80DB5B0(void) @@ -3081,17 +3118,17 @@ static bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod) u8 r6; s32 r4; - if (sContestantStatus[contestantIdx].conditionMod == 0) + if (eContestantStatus[contestantIdx].conditionMod == 0) return FALSE; - r6 = gUnknown_02039F26[contestantIdx] * 5 + 2; - r4 = sContestantStatus[contestantIdx].condition / 10; - if (sContestantStatus[contestantIdx].conditionMod == 1) + r6 = gContestantTurnOrder[contestantIdx] * 5 + 2; + r4 = eContestantStatus[contestantIdx].condition / 10; + if (eContestantStatus[contestantIdx].conditionMod == 1) { ContestBG_FillBoxWithTile(0, sub_80DB5B0(), 19, r6, 1, r4, 17); if (resetMod) { PlaySE(SE_EXPMAX); - sContestantStatus[contestantIdx].conditionMod = 0; + eContestantStatus[contestantIdx].conditionMod = 0; } } else @@ -3100,7 +3137,7 @@ static bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod) if (resetMod) { PlaySE(SE_FU_ZAKU2); - sContestantStatus[contestantIdx].conditionMod = 0; + eContestantStatus[contestantIdx].conditionMod = 0; } } return TRUE; @@ -3111,12 +3148,12 @@ static void sub_80DB69C(void) s32 i; s32 r6; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - u8 r4 = gUnknown_02039F26[i] * 5 + 2; + u8 r4 = gContestantTurnOrder[i] * 5 + 2; u16 r5 = sub_80DB5B0(); - r6 = sContestantStatus[i].condition / 10; + r6 = eContestantStatus[i].condition / 10; ContestBG_FillBoxWithTile(0, r5, 19, r4, 1, r6, 17); ContestBG_FillBoxWithTile(0, 0, 19, r4 + r6, 1, 3 - r6, 17); } @@ -3152,13 +3189,13 @@ static bool8 sub_80DB798(u8 a) { bool8 r9 = TRUE; u16 r8 = 0; - u8 r7 = gUnknown_02039F26[a] * 5 + 2; + u8 r7 = gContestantTurnOrder[a] * 5 + 2; - if (sContestantStatus[a].resistant != 0 || sContestantStatus[a].immune != 0 || sContestantStatus[a].jamSafetyCount != 0 || sContestantStatus[a].jamReduction != 0) + if (eContestantStatus[a].resistant != 0 || eContestantStatus[a].immune != 0 || eContestantStatus[a].jamSafetyCount != 0 || eContestantStatus[a].jamReduction != 0) r8 = sub_80DB748(0); - else if (sContestantStatus[a].nervous) + else if (eContestantStatus[a].nervous) r8 = sub_80DB748(1); - else if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) + else if (eContestantStatus[a].numTurnsSkipped != 0 || eContestantStatus[a].noMoreTurns) r8 = sub_80DB748(2); else r9 = FALSE; @@ -3182,50 +3219,52 @@ static void sub_80DB884(void) sub_80DB798(i); } -static void sub_80DB89C(void) +static void ContestClearGeneralTextWindow(void) { - FillWindowPixelBuffer(4, PIXEL_FILL(0)); - CopyWindowToVram(4, 2); + FillWindowPixelBuffer(CONTEST_WINDOW_GENERAL_TEXT, PIXEL_FILL(0)); + CopyWindowToVram(CONTEST_WINDOW_GENERAL_TEXT, 2); Contest_SetBgCopyFlags(0); } -static u16 GetChosenMove(u8 a) +static u16 GetChosenMove(u8 contestant) { - if (Contest_IsMonsTurnDisabled(a)) + if (Contest_IsMonsTurnDisabled(contestant)) return 0; - if (a == gContestPlayerMonIndex) + if (contestant == gContestPlayerMonIndex) { - return gContestMons[a].moves[sContest.playerMoveChoice]; + return gContestMons[contestant].moves[eContest.playerMoveChoice]; } else { u8 moveChoice; - ContestAI_ResetAI(a); + ContestAI_ResetAI(contestant); moveChoice = ContestAI_GetActionToUse(); - return gContestMons[a].moves[moveChoice]; + return gContestMons[contestant].moves[moveChoice]; } } -static void sub_80DB918(void) +static void GetAllChosenMoves(void) { s32 i; - for (i = 0; i < 4; i++) - sContestantStatus[i].currMove = GetChosenMove(i); + for (i = 0; i < CONTESTANT_COUNT; i++) + eContestantStatus[i].currMove = GetChosenMove(i); } -static void sub_80DB944(void) +static void RankContestants(void) { s32 i; s32 j; - s16 arr[4]; + s16 arr[CONTESTANT_COUNT]; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - sContestantStatus[i].unk4 += sContestantStatus[i].appeal2; - arr[i] = sContestantStatus[i].unk4; + eContestantStatus[i].pointTotal += eContestantStatus[i].appeal2; + arr[i] = eContestantStatus[i].pointTotal; } + + // Sort the point totals using bubble-sort. for (i = 0; i < 3; i++) { for (j = 3; j > i; j--) @@ -3239,49 +3278,59 @@ static void sub_80DB944(void) } } } - for (i = 0; i < 4; i++) + + // For each contestant, find the best rank with their point total. + // Normally, each point total is different, and this will output the + // rankings as expected. However, if two pokemon are tied, then they + // both get the best rank for that point total. + // + // For example if the point totals are [100, 80, 80, 50], the ranks will + // be [1, 2, 2, 4]. The pokemon with a point total of 80 stop looking + // when they see the first 80 in the array, so they both share the '2' + // rank. + for (i = 0; i < CONTESTANT_COUNT; i++) { - for (j = 0; j < 4; j++) + for (j = 0; j < CONTESTANT_COUNT; j++) { - if (sContestantStatus[i].unk4 == arr[j]) + if (eContestantStatus[i].pointTotal == arr[j]) { - sContestantStatus[i].unkB_0 = j; + eContestantStatus[i].ranking = j; break; } } } - sub_80DCE58(1); - sub_80DD590(); + SortContestants(TRUE); + ApplyNextTurnOrder(); } static void sub_80DBA18(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { u8 attentionLevel; - if (sContestantStatus[i].currMove == MOVE_NONE) + if (eContestantStatus[i].currMove == MOVE_NONE) attentionLevel = 5; - else if (sContestantStatus[i].appeal2 <= 0) + else if (eContestantStatus[i].appeal2 <= 0) attentionLevel = 0; - else if (sContestantStatus[i].appeal2 < 30) + else if (eContestantStatus[i].appeal2 < 30) attentionLevel = 1; - else if (sContestantStatus[i].appeal2 < 60) + else if (eContestantStatus[i].appeal2 < 60) attentionLevel = 2; - else if (sContestantStatus[i].appeal2 < 80) + else if (eContestantStatus[i].appeal2 < 80) attentionLevel = 3; else attentionLevel = 4; - sContestantStatus[i].attentionLevel = attentionLevel; + eContestantStatus[i].attentionLevel = attentionLevel; } } -static bool8 sub_80DBA68(u8 a) +static bool8 ContestantCanUseTurn(u8 contestant) { - if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) + if (eContestantStatus[contestant].numTurnsSkipped != 0 || eContestantStatus[contestant].noMoreTurns) return FALSE; else return TRUE; @@ -3291,92 +3340,92 @@ static void sub_80DBAA0(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - sContestantStatus[i].appeal2 = 0; - sContestantStatus[i].appeal1 = 0; - sContestantStatus[i].jamSafetyCount = 0; - if (sContestantStatus[i].numTurnsSkipped > 0) - sContestantStatus[i].numTurnsSkipped--; - sContestantStatus[i].jam = 0; - sContestantStatus[i].resistant = 0; - sContestantStatus[i].jamReduction = 0; - sContestantStatus[i].immune = 0; - sContestantStatus[i].moreEasilyStartled = 0; - sContestantStatus[i].usedRepeatableMove = 0; - sContestantStatus[i].nervous = 0; - sContestantStatus[i].effectStringId = CONTEST_STRING_NONE; - sContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; - sContestantStatus[i].conditionMod = 0; - sContestantStatus[i].unk15_2 = sContestantStatus[i].disappointedRepeat; - sContestantStatus[i].disappointedRepeat = FALSE; - sContestantStatus[i].turnOrderModAction = 0; - sContestantStatus[i].appealTripleCondition = 0; - if (sContestantStatus[i].turnSkipped) - { - sContestantStatus[i].numTurnsSkipped = 1; - sContestantStatus[i].turnSkipped = 0; - } - if (sContestantStatus[i].exploded) - { - sContestantStatus[i].noMoreTurns = 1; - sContestantStatus[i].exploded = 0; - } - sContestantStatus[i].overrideCategoryExcitementMod = 0; + eContestantStatus[i].appeal2 = 0; + eContestantStatus[i].appeal1 = 0; + eContestantStatus[i].jamSafetyCount = 0; + if (eContestantStatus[i].numTurnsSkipped > 0) + eContestantStatus[i].numTurnsSkipped--; + eContestantStatus[i].jam = 0; + eContestantStatus[i].resistant = 0; + eContestantStatus[i].jamReduction = 0; + eContestantStatus[i].immune = 0; + eContestantStatus[i].moreEasilyStartled = 0; + eContestantStatus[i].usedRepeatableMove = 0; + eContestantStatus[i].nervous = FALSE; + eContestantStatus[i].effectStringId = CONTEST_STRING_NONE; + eContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; + eContestantStatus[i].conditionMod = 0; + eContestantStatus[i].unk15_2 = eContestantStatus[i].disappointedRepeat; + eContestantStatus[i].disappointedRepeat = FALSE; + eContestantStatus[i].turnOrderModAction = 0; + eContestantStatus[i].appealTripleCondition = 0; + if (eContestantStatus[i].turnSkipped) + { + eContestantStatus[i].numTurnsSkipped = 1; + eContestantStatus[i].turnSkipped = 0; + } + if (eContestantStatus[i].exploded) + { + eContestantStatus[i].noMoreTurns = 1; + eContestantStatus[i].exploded = 0; + } + eContestantStatus[i].overrideCategoryExcitementMod = 0; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - sContestantStatus[i].prevMove = sContestantStatus[i].currMove; - sContest.unk19220[sContest.turnNumber][i] = sContestantStatus[i].currMove; - sContest.unk19248[sContest.turnNumber][i] = Contest_GetMoveExcitement(sContestantStatus[i].currMove); - sContestantStatus[i].currMove = MOVE_NONE; + eContestantStatus[i].prevMove = eContestantStatus[i].currMove; + eContest.moveHistory[eContest.turnNumber][i] = eContestantStatus[i].currMove; + eContest.excitementHistory[eContest.turnNumber][i] = Contest_GetMoveExcitement(eContestantStatus[i].currMove); + eContestantStatus[i].currMove = MOVE_NONE; } - shared19328.excitementFrozen = 0; + eContestResources10.excitementFrozen = 0; } bool8 Contest_IsMonsTurnDisabled(u8 a) { - if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) + if (eContestantStatus[a].numTurnsSkipped != 0 || eContestantStatus[a].noMoreTurns) return TRUE; else return FALSE; } -static void sub_80DBCE0(u8 a) +static void sub_80DBCE0(u8 contestant) { - gUnknown_02039F18[a] = sub_80DBD34(a); - gUnknown_02039F08[a] = gContestMonConditions[a] + gUnknown_02039F18[a]; + gUnknown_02039F18[contestant] = sub_80DBD34(contestant); + gUnknown_02039F08[contestant] = gContestMonConditions[contestant] + gUnknown_02039F18[contestant]; } static void sub_80DBD18(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DBCE0(i); DetermineFinalStandings(); } -static s16 sub_80DBD34(u8 a) +static s16 sub_80DBD34(u8 contestant) { - return gUnknown_02039F10[a] * 2; + return gUnknown_02039F10[contestant] * 2; } static void DetermineFinalStandings(void) { - u16 sp0[4] = {0}; - struct UnknownContestStruct6 sp8[4]; + u16 randomOrdering[CONTESTANT_COUNT] = {0}; + struct UnknownContestStruct6 sp8[CONTESTANT_COUNT]; s32 i; s32 j; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { s32 r2; - sp0[i] = Random(); + randomOrdering[i] = Random(); for (r2 = 0; r2 < i; r2++) { - if (sp0[i] == sp0[r2]) + if (randomOrdering[i] == randomOrdering[r2]) { i--; break; @@ -3384,11 +3433,11 @@ static void DetermineFinalStandings(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { sp8[i].unk0 = gUnknown_02039F08[i]; sp8[i].unk4 = gContestMonConditions[i]; - sp8[i].unk8 = sp0[i]; + sp8[i].unk8 = randomOrdering[i]; sp8[i].unkC = i; } @@ -3418,13 +3467,13 @@ static void DetermineFinalStandings(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gContestFinalStandings[sp8[i].unkC] = i; } -void sub_80DBED4(void) +void SaveLinkContestResults(void) { - if ((gIsLinkContest & 1)) + if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) { gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] = ((gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] + 1) > 9999) ? 9999 : @@ -3452,19 +3501,19 @@ static bool8 sub_80DBF30(s32 a, s32 b, struct UnknownContestStruct6 *c) return retVal; } -static void sub_80DBF68(void) +static void ContestPrintLinkStandby(void) { gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; - sub_80DB89C(); - Contest_StartTextPrinter((u8*) &gUnknown_0827E8DA, 0); + ContestClearGeneralTextWindow(); + Contest_StartTextPrinter(gText_LinkStandby4, 0); } -static void sub_80DBF90(void) +static void FillContestantWindowBgs(void) { int i; - for(i = 0; i < 4; i++) + for(i = 0; i < CONTESTANT_COUNT; i++) { ContestBG_FillBoxWithTile(0, 0, 0x16, 2 + i * 5, 8, 2, 0x11); } @@ -3592,7 +3641,7 @@ static void sub_80DC0F4(u8 taskId) r11 = 1; r5-= 8; } - ContestBG_FillBoxWithTile(0, r6, r5 + 22, gUnknown_02039F26[r7] * 5 + 2 + r11, 1, 1, 17); + ContestBG_FillBoxWithTile(0, r6, r5 + 22, gContestantTurnOrder[r7] * 5 + 2 + r11, 1, 1, 17); if (r1 > 0) { PlaySE(SE_C_GAJI); @@ -3614,28 +3663,28 @@ static void sub_80DC2BC(void) s32 i; LoadSpriteSheet(&gUnknown_08587A74); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - u8 y = gUnknown_08587A6C[gUnknown_02039F26[i]]; + u8 y = gUnknown_08587A6C[gContestantTurnOrder[i]]; gContestResources->field_14[i].unk0 = CreateSprite(&gSpriteTemplate_8587AD0, 180, y, 1); } } -static void sub_80DC308(u8 a) +static void sub_80DC308(u8 contestant) { u8 spriteId; s16 r5; - gContestResources->field_14[a].unk2_0 = 1; - spriteId = gContestResources->field_14[a].unk0; - r5 = sContestantStatus[a].unk4 / 10 * 2; + gContestResources->field_14[contestant].unk2_0 = 1; + spriteId = gContestResources->field_14[contestant].unk0; + r5 = eContestantStatus[contestant].pointTotal / 10 * 2; if (r5 > 56) r5 = 56; else if (r5 < 0) r5 = 0; gSprites[spriteId].invisible = FALSE; - gSprites[spriteId].data[0] = a; + gSprites[spriteId].data[0] = contestant; gSprites[spriteId].data[1] = r5; if (gSprites[spriteId].data[1] > gSprites[spriteId].pos2.x) gSprites[spriteId].data[2] = 1; @@ -3648,7 +3697,7 @@ static void sub_80DC3AC(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DC308(i); } @@ -3656,12 +3705,12 @@ static bool8 sub_80DC3C4(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestResources->field_14[i].unk2_0) break; } - if (i == 4) + if (i == CONTESTANT_COUNT) return TRUE; else return FALSE; @@ -3684,17 +3733,17 @@ static void sub_80DC44C(void) { s32 i; - for (i = 0; i < 4; i++) - gSprites[gContestResources->field_14[i].unk0].pos1.y = gUnknown_08587A6C[gUnknown_02039F26[i]]; + for (i = 0; i < CONTESTANT_COUNT; i++) + gSprites[gContestResources->field_14[i].unk0].pos1.y = gUnknown_08587A6C[gContestantTurnOrder[i]]; } static void sub_80DC490(bool8 a) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - if (gUnknown_02039F26[i] > 1) + if (gContestantTurnOrder[i] > 1) { if (!a) gSprites[gContestResources->field_14[i].unk0].pos1.x = 180; @@ -3709,12 +3758,12 @@ static void sub_80DC4F0(void) s32 i; LoadSpritePalette(&gUnknown_08587B08); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { LoadCompressedSpriteSheet(&gUnknown_08587AE8[i]); gContestResources->field_14[i].unk1 = CreateSprite(&gSpriteTemplate_8587B18[i], 204, - gUnknown_08587A70[gUnknown_02039F26[i]], + gUnknown_08587A70[gContestantTurnOrder[i]], 0); SetSubspriteTables(&gSprites[gContestResources->field_14[i].unk1], gSubspriteTables_8587B80); gSprites[gContestResources->field_14[i].unk1].invisible = TRUE; @@ -3725,11 +3774,11 @@ static void CreateApplauseMeterSprite(void) { u8 spriteId; - LoadCompressedSpriteSheet(&gUnknown_08587BB0); - LoadSpritePalette(&gUnknown_08587BB8); - spriteId = CreateSprite(&gSpriteTemplate_8587BC8, 30, 44, 1); + LoadCompressedSpriteSheet(&sApplauseMeterSpriteSheet); + LoadSpritePalette(&sApplauseMeterPalette); + spriteId = CreateSprite(&sApplauseMeterSpriteTemplate, 30, 44, 1); gSprites[spriteId].invisible = TRUE; - sContest.applauseMeterSpriteId = spriteId; + eContest.applauseMeterSpriteId = spriteId; } static void sub_80DC5E8(void) @@ -3737,15 +3786,15 @@ static void sub_80DC5E8(void) u8 i; u8 taskId = CreateTask(sub_80DC728, 30); - sContest.unk19211 = taskId; - for (i = 0; i < 4; i++) + eContest.unk19211 = taskId; + for (i = 0; i < CONTESTANT_COUNT; i++) gTasks[taskId].data[i * 4] = 0xFF; } static void sub_80DC630(u8 a) { - gTasks[sContest.unk19211].data[a * 4 + 0] = 0; - gTasks[sContest.unk19211].data[a * 4 + 1] = 0; + gTasks[eContest.unk19211].data[a * 4 + 0] = 0; + gTasks[eContest.unk19211].data[a * 4 + 1] = 0; } static void sub_80DC674(u8 a) @@ -3759,12 +3808,12 @@ static void sub_80DC6A4(u8 taskId) { u8 r4 = gTasks[taskId].data[0]; - if (gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0 - || gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0xFF) + if (gTasks[eContest.unk19211].data[r4 * 4 + 0] == 0 + || gTasks[eContest.unk19211].data[r4 * 4 + 0] == 0xFF) { - gTasks[sContest.unk19211].data[r4 * 4 + 0] = 0xFF; - gTasks[sContest.unk19211].data[r4 * 4 + 1] = 0; - BlendPalette((sContest.unk19218[r4] + 5) * 16 + 6, 2, 0, RGB(31, 31, 18)); + gTasks[eContest.unk19211].data[r4 * 4 + 0] = 0xFF; + gTasks[eContest.unk19211].data[r4 * 4 + 1] = 0; + BlendPalette((eContest.prevTurnOrder[r4] + MOVE_WINDOWS_START) * 16 + 6, 2, 0, RGB(31, 31, 18)); DestroyTask(taskId); } } @@ -3773,7 +3822,7 @@ static void sub_80DC728(u8 taskId) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { u8 r3 = i * 4; @@ -3789,7 +3838,7 @@ static void sub_80DC728(u8 taskId) gTasks[taskId].data[r3 + 1] ^= 1; BlendPalette( - (sContest.unk19218[i] + 5) * 16 + 6, + (eContest.prevTurnOrder[i] + MOVE_WINDOWS_START) * 16 + 6, 2, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); @@ -3801,15 +3850,15 @@ static void sub_80DC7EC(void) { s32 i; - sContest.unk19212 = CreateTask(sub_80DC8D0, 30); - for (i = 0; i < 4; i++) + eContest.unk19212 = CreateTask(sub_80DC8D0, 30); + for (i = 0; i < CONTESTANT_COUNT; i++) sub_80DC81C(i); } -static void sub_80DC81C(u8 a) +static void sub_80DC81C(u8 contestant) { - gTasks[sContest.unk19212].data[a * 4 + 0] = 0xFF; - gTasks[sContest.unk19212].data[a * 4 + 1] = 0; + gTasks[eContest.unk19212].data[contestant * 4 + 0] = 0xFF; + gTasks[eContest.unk19212].data[contestant * 4 + 1] = 0; } static void sub_80DC864(void) @@ -3820,22 +3869,22 @@ static void sub_80DC864(void) sub_80DC87C(i); } -static void sub_80DC87C(u8 a) +static void sub_80DC87C(u8 contestant) { - u32 var; - u32 r0; + u32 windowId1; + u32 windowId2; - sub_80DC81C(a); + sub_80DC81C(contestant); - r0 = a + 5; + windowId1 = contestant + MOVE_WINDOWS_START; DmaCopy16Defvars(3, - gPlttBufferUnfaded + r0 * 16 + 10, - gPlttBufferFaded + r0 * 16 + 10, + gPlttBufferUnfaded + windowId1 * 16 + 10, + gPlttBufferFaded + windowId1 * 16 + 10, 2); - var = (a + 5) * 16 + 12 + a; + windowId2 = (contestant + MOVE_WINDOWS_START) * 16 + 12 + contestant; DmaCopy16Defvars(3, - gPlttBufferUnfaded + var, - gPlttBufferFaded + var, + gPlttBufferUnfaded + windowId2, + gPlttBufferFaded + windowId2, 2); } @@ -3843,7 +3892,7 @@ static void sub_80DC8D0(u8 taskId) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { u8 r3 = i * 4; @@ -3862,41 +3911,41 @@ static void sub_80DC8D0(u8 taskId) || gTasks[taskId].data[r3 + 0] == 0) gTasks[taskId].data[r3 + 1] ^= 1; - BlendPalette((i + 5) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); - BlendPalette((i + 5) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); + BlendPalette((i + MOVE_WINDOWS_START) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); + BlendPalette((i + MOVE_WINDOWS_START) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); } } } } -static void sub_80DC9B4(u8 a) +static void sub_80DC9B4(u8 contestant) { - if (sContestantStatus[a].hasJudgesAttention) - sub_80DC630(a); + if (eContestantStatus[contestant].hasJudgesAttention) + sub_80DC630(contestant); else - sub_80DC674(a); + sub_80DC674(contestant); } -static u8 sub_80DC9EC(u8 a) +static u8 sub_80DC9EC(u8 contestant) { u8 spriteId1, spriteId2; - u8 x = gUnknown_02039F26[a] * 40 + 32; + u8 x = gContestantTurnOrder[contestant] * 40 + 32; - LoadCompressedSpriteSheet(&sUnknown_08589904[a]); - LoadSpritePalette(&sUnknown_08589924[a]); - spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29); - spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29); + LoadCompressedSpriteSheet(&sUnknown_08589904[contestant]); + LoadSpritePalette(&sUnknown_08589924[contestant]); + spriteId1 = CreateSprite(&gSpriteTemplate_858998C[contestant], 184, x, 29); + spriteId2 = CreateSprite(&gSpriteTemplate_858998C[contestant], 248, x, 29); gSprites[spriteId2].oam.tileNum += 64; CopySpriteTiles(0, 3, (void *)VRAM, - (u16 *)(BG_SCREEN_ADDR(28) + gUnknown_02039F26[a] * 5 * 64 + 0x26), + (u16 *)(BG_SCREEN_ADDR(28) + gContestantTurnOrder[contestant] * 5 * 64 + 0x26), gContestResources->field_34); CopySpriteTiles(0, 3, (void *)VRAM, - (u16 *)(BG_SCREEN_ADDR(28) + gUnknown_02039F26[a] * 5 * 64 + 0x36), + (u16 *)(BG_SCREEN_ADDR(28) + gContestantTurnOrder[contestant] * 5 * 64 + 0x36), gContestResources->field_38); CpuFill32(0, gContestResources->field_34 + 0x500, 0x300); @@ -3915,8 +3964,8 @@ static u8 sub_80DC9EC(u8 a) gSprites[spriteId1].data[0] = spriteId2; gSprites[spriteId2].data[0] = spriteId1; - gSprites[spriteId1].data[1] = a; - gSprites[spriteId2].data[1] = a; + gSprites[spriteId1].data[1] = contestant; + gSprites[spriteId2].data[1] = contestant; return spriteId1; } @@ -3981,164 +4030,203 @@ static void sub_80DCCD8(struct Sprite *sprite) sub_80DCBD0(); } -static void sub_80DCD08(void) +// Unused. +static void ContestDebugTogglePointTotal(void) { - if(gHeap[0x1A000] == 1) - gHeap[0x1A000] = 0; + if(eContestDebugMode == CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL) + eContestDebugMode = CONTEST_DEBUG_MODE_OFF; else - gHeap[0x1A000] = 1; + eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL; - if(gHeap[0x1A000] == 0) + if(eContestDebugMode == CONTEST_DEBUG_MODE_OFF) { - sub_80DAEA4(); - sub_80DB2BC(); + DrawContestantWindowText(); + SwapMoveDescAndContestTilemaps(); } else { - sub_80DCD48(); + ContestDebugDoPrint(); } } -static void sub_80DCD48(void) +static void ContestDebugDoPrint(void) { u8 i; s16 value; u8 *txtPtr; u8 text[8]; - if (gUnknown_020322D5 == 0) + if (!gEnableContestDebugging) return; - switch (gHeap[0x1A000]) + switch (eContestDebugMode) { - case 0: + case CONTEST_DEBUG_MODE_OFF: break; - case 2: - case 3: - sub_80DF750(); + case CONTEST_DEBUG_MODE_PRINT_UNK_C: + case CONTEST_DEBUG_MODE_PRINT_UNK_D: + ContestDebugPrintBitStrings(); break; + // The only other possible value is 1, which is only set by ContestDebugTogglePointTotal. + // + // case CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL: default: - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - value = sContestantStatus[i].unk4; + value = eContestantStatus[i].pointTotal; txtPtr = text; - if (sContestantStatus[i].unk4 < 0) + if (eContestantStatus[i].pointTotal < 0) { value *= -1; txtPtr = StringCopy(txtPtr, gText_OneDash); } ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 55, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 55, 1, 7); } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - value = sContestantStatus[i].appeal2; + value = eContestantStatus[i].appeal2; txtPtr = text; - if (sContestantStatus[i].appeal2 < 0) + if (eContestantStatus[i].appeal2 < 0) { value *= -1; txtPtr = StringCopy(txtPtr, gText_OneDash); } ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 5, 1, 7); } - sub_80DB2BC(); + SwapMoveDescAndContestTilemaps(); break; } } -void sub_80DCE58(u8 a) +void SortContestants(bool8 useRanking) { - u8 sp0[4]; - u16 sp4[4] = {0}; + u8 scratch[CONTESTANT_COUNT]; + u16 randomOrdering[CONTESTANT_COUNT] = {0}; s32 i; - s32 r2; - s32 r4; + s32 v3; - for (i = 0; i < 4; i++) + // Generate a unique random number for each contestant. + for (i = 0; i < CONTESTANT_COUNT; i++) { - sp4[i] = Random(); - for (r2 = 0; r2 < i; r2++) + s32 j; + randomOrdering[i] = Random(); + + // Loop through all the numbers generated so far. + for (j = 0; j < i; j++) { - if (sp4[i] == sp4[r2]) + if (randomOrdering[i] == randomOrdering[j]) { + // This number isn't unique; try generating again. i--; break; } } } - if (a == 0) + if (!useRanking) { - for (i = 0; i < 4; i++) + // Order based on the results of the Conditions round using Insertion Sort. + // Use the randomOrdering to break ties. + for (i = 0; i < CONTESTANT_COUNT; i++) { - gUnknown_02039F26[i] = i; - for (r4 = 0; r4 < i; r4++) + // Append this contestant to the list. + gContestantTurnOrder[i] = i; + + // Determine where the contestant should be ordered. + for (v3 = 0; v3 < i; v3++) { - if (gContestMonConditions[gUnknown_02039F26[r4]] < gContestMonConditions[i] - || (gContestMonConditions[gUnknown_02039F26[r4]] == gContestMonConditions[i] && sp4[gUnknown_02039F26[r4]] < sp4[i])) + if (gContestMonConditions[gContestantTurnOrder[v3]] < gContestMonConditions[i] + || (gContestMonConditions[gContestantTurnOrder[v3]] == gContestMonConditions[i] && randomOrdering[gContestantTurnOrder[v3]] < randomOrdering[i])) { - for (r2 = i; r2 > r4; r2--) - gUnknown_02039F26[r2] = gUnknown_02039F26[r2 - 1]; - gUnknown_02039F26[r4] = i; + // Shift everything larger up to make room. + s32 j; + for (j = i; j > v3; j--) + gContestantTurnOrder[j] = gContestantTurnOrder[j - 1]; + + // Insert into the new spot. + gContestantTurnOrder[v3] = i; break; } } - if (r4 == i) - gUnknown_02039F26[i] = i; + + // This is redundant. + // Perhaps GF switched from true insertion sort to in-place insertion sort, and forgot to + // remove this check? + if (v3 == i) + gContestantTurnOrder[i] = i; } - memcpy(sp0, gUnknown_02039F26, sizeof(sp0)); - for (i = 0; i < 4; i++) - gUnknown_02039F26[sp0[i]] = i; + + // Invert gContestantTurnOrder; above, it was a list of contestant IDs. Now it's a list of turn orderings. + // + // For example, if contestant 3 had the first turn, then `gContestantTurnOrder[1] = 3`. The turn is the index, + // the contestant is the data. After inverting the list, `gContestantTurnOrder[3] = 1`. The contestant is the index, + // and the turn is the data. + memcpy(scratch, gContestantTurnOrder, sizeof(scratch)); + for (i = 0; i < CONTESTANT_COUNT; i++) + gContestantTurnOrder[scratch[i]] = i; } else { - memset(sp0, 0xFF, sizeof(sp0)); - for (i = 0; i < 4; i++) + // Order contestants based on their ranking. + // If contestants have tied ranking, fill in the next available slot. + // + // Note that ranking is calculated so that shared places still take up a ranking + // space. A ranking like [1, 2, 2, 3] is not possible; it would be [1, 2, 2, 4] + // instead. + memset(scratch, 0xFF, sizeof(scratch)); + for (i = 0; i < CONTESTANT_COUNT; i++) { - u8 r2 = sContestantStatus[i].unkB_0; + u8 j = eContestantStatus[i].ranking; while (1) { - u8 *ptr = &sp0[r2]; + u8 *ptr = &scratch[j]; if (*ptr == 0xFF) { *ptr = i; - gUnknown_02039F26[i] = r2; + gContestantTurnOrder[i] = j; break; } - r2++; + j++; } } - for (i = 0; i < 3; i++) + + // Randomize the order of contestants with tied rankings using Selection Sort. + // + // Look through the array for tied ranks, and use randomOrdering to break the tie. + // This ensures that contestants with the same rank will be randomly ordered. This + // uses an in-place slection sort, which involves a lot of extra swapping. + for (i = 0; i < CONTESTANT_COUNT - 1; i++) { - for (r4 = 3; r4 > i; r4--) + for (v3 = CONTESTANT_COUNT - 1; v3 > i; v3--) { - if (sContestantStatus[r4 - 1].unkB_0 == sContestantStatus[r4].unkB_0 - && gUnknown_02039F26[r4 - 1] < gUnknown_02039F26[r4] - && sp4[r4 - 1] < sp4[r4]) + if (eContestantStatus[v3 - 1].ranking == eContestantStatus[v3].ranking + && gContestantTurnOrder[v3 - 1] < gContestantTurnOrder[v3] + && randomOrdering[v3 - 1] < randomOrdering[v3]) { - u8 temp = gUnknown_02039F26[r4]; - - gUnknown_02039F26[r4] = gUnknown_02039F26[r4 - 1]; - gUnknown_02039F26[r4 - 1] = temp; + u8 temp = gContestantTurnOrder[v3]; + gContestantTurnOrder[v3] = gContestantTurnOrder[v3 - 1]; + gContestantTurnOrder[v3 - 1] = temp; } } } } } -static void sub_80DD04C(void) +static void DrawContestantWindows(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - LoadPalette(&gHeap[0x1A004] + (i + 5) * 32, (gUnknown_02039F26[i] + 5) * 16, 32); + s32 windowId = i + MOVE_WINDOWS_START; + LoadPalette(eUnknownHeap1A004.cachedWindowPalettes[windowId], (gContestantTurnOrder[i] + MOVE_WINDOWS_START) * 16, sizeof(eUnknownHeap1A004.cachedWindowPalettes[0])); } - sub_80DAEA4(); + DrawContestantWindowText(); } static void sub_80DD080(u8 contestant) @@ -4149,104 +4237,104 @@ static void sub_80DD080(u8 contestant) bool8 r8; s32 i; - sContestantStatus[contestant].appeal2 = 0; - sContestantStatus[contestant].appeal1 = 0; - r8 = sub_80DBA68(contestant); + eContestantStatus[contestant].appeal2 = 0; + eContestantStatus[contestant].appeal1 = 0; + r8 = ContestantCanUseTurn(contestant); if (!r8) return; - move = sContestantStatus[contestant].currMove; + move = eContestantStatus[contestant].currMove; effect = gContestMoves[move].effect; - sContestantStatus[contestant].moveCategory = gContestMoves[sContestantStatus[contestant].currMove].contestCategory; - if (sContestantStatus[contestant].currMove == sContestantStatus[contestant].prevMove && sContestantStatus[contestant].currMove != MOVE_NONE) + eContestantStatus[contestant].moveCategory = gContestMoves[eContestantStatus[contestant].currMove].contestCategory; + if (eContestantStatus[contestant].currMove == eContestantStatus[contestant].prevMove && eContestantStatus[contestant].currMove != MOVE_NONE) { - sContestantStatus[contestant].disappointedRepeat = TRUE; - sContestantStatus[contestant].moveRepeatCount++; + eContestantStatus[contestant].disappointedRepeat = TRUE; + eContestantStatus[contestant].moveRepeatCount++; } else { - sContestantStatus[contestant].moveRepeatCount = 0; + eContestantStatus[contestant].moveRepeatCount = 0; } - sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal; - sContestantStatus[contestant].appeal2 = sContestantStatus[contestant].appeal1; - shared192D0.jam = gContestEffects[effect].jam; - shared192D0.jam2 = shared192D0.jam; + eContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal; + eContestantStatus[contestant].appeal2 = eContestantStatus[contestant].appeal1; + eContestResources8.jam = gContestEffects[effect].jam; + eContestResources8.jam2 = eContestResources8.jam; - shared192D0.contestant = contestant; + eContestResources8.contestant = contestant; for (i = 0; i < 4; i++) { - sContestantStatus[i].jam = 0; - shared192D0.unnervedPokes[i] = 0; + eContestantStatus[i].jam = 0; + eContestResources8.unnervedPokes[i] = 0; } - if (sContestantStatus[contestant].hasJudgesAttention - && !AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove)) - sContestantStatus[contestant].hasJudgesAttention = 0; + if (eContestantStatus[contestant].hasJudgesAttention + && !AreMovesContestCombo(eContestantStatus[contestant].prevMove, eContestantStatus[contestant].currMove)) + eContestantStatus[contestant].hasJudgesAttention = 0; gContestEffectFuncs[effect](); - if (sContestantStatus[contestant].conditionMod == 1) - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition - 10; - else if (sContestantStatus[contestant].appealTripleCondition) - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition * 3; + if (eContestantStatus[contestant].conditionMod == 1) + eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition - 10; + else if (eContestantStatus[contestant].appealTripleCondition) + eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition * 3; else - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition; + eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition; - sContestantStatus[contestant].unk16 = 0; - sContestantStatus[contestant].unk15_6 = 0; + eContestantStatus[contestant].unk16 = 0; + eContestantStatus[contestant].unk15_6 = 0; if (sub_80DE1E8(contestant)) { - u8 r2 = AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove); + u8 r2 = AreMovesContestCombo(eContestantStatus[contestant].prevMove, eContestantStatus[contestant].currMove); - if (r2 != 0 && sContestantStatus[contestant].hasJudgesAttention) + if (r2 != 0 && eContestantStatus[contestant].hasJudgesAttention) { - sContestantStatus[contestant].unk16 = r2; - sContestantStatus[contestant].unk15_6 = 1; - sContestantStatus[contestant].hasJudgesAttention = 0; - sContestantStatus[contestant].unk17 = sContestantStatus[contestant].appeal1 * sContestantStatus[contestant].unk16; - sContestantStatus[contestant].unk15_3 = 1; + eContestantStatus[contestant].unk16 = r2; + eContestantStatus[contestant].unk15_6 = 1; + eContestantStatus[contestant].hasJudgesAttention = 0; + eContestantStatus[contestant].unk17 = eContestantStatus[contestant].appeal1 * eContestantStatus[contestant].unk16; + eContestantStatus[contestant].unk15_3 = 1; } else { - if (gContestMoves[sContestantStatus[contestant].currMove].comboStarterId != 0) + if (gContestMoves[eContestantStatus[contestant].currMove].comboStarterId != 0) { - sContestantStatus[contestant].hasJudgesAttention = 1; - sContestantStatus[contestant].unk15_6 = 1; + eContestantStatus[contestant].hasJudgesAttention = 1; + eContestantStatus[contestant].unk15_6 = 1; } else { - sContestantStatus[contestant].hasJudgesAttention = 0; + eContestantStatus[contestant].hasJudgesAttention = 0; } } } - if (sContestantStatus[contestant].disappointedRepeat) - sContestantStatus[contestant].unk18 = (sContestantStatus[contestant].moveRepeatCount + 1) * 10; + if (eContestantStatus[contestant].disappointedRepeat) + eContestantStatus[contestant].unk18 = (eContestantStatus[contestant].moveRepeatCount + 1) * 10; - if (sContestantStatus[contestant].nervous) + if (eContestantStatus[contestant].nervous) { - sContestantStatus[contestant].hasJudgesAttention = 0; - sContestantStatus[contestant].appeal2 = 0; - sContestantStatus[contestant].appeal1 = 0; + eContestantStatus[contestant].hasJudgesAttention = 0; + eContestantStatus[contestant].appeal2 = 0; + eContestantStatus[contestant].appeal1 = 0; } - shared19328.bits_0 = Contest_GetMoveExcitement(sContestantStatus[contestant].currMove); - if (sContestantStatus[contestant].overrideCategoryExcitementMod) - shared19328.bits_0 = 1; + eContestResources10.bits_0 = Contest_GetMoveExcitement(eContestantStatus[contestant].currMove); + if (eContestantStatus[contestant].overrideCategoryExcitementMod) + eContestResources10.bits_0 = 1; - if (shared19328.bits_0 > 0) + if (eContestResources10.bits_0 > 0) { - if (sContest.applauseLevel + shared19328.bits_0 > 4) - shared19328.unk2 = 60; + if (eContest.applauseLevel + eContestResources10.bits_0 > 4) + eContestResources10.unk2 = 60; else - shared19328.unk2 = 10; + eContestResources10.unk2 = 10; } else { - shared19328.unk2 = 0; + eContestResources10.unk2 = 0; } rnd = Random() % 3; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (i != contestant) { @@ -4255,17 +4343,17 @@ static void sub_80DD080(u8 contestant) rnd--; } } - sContestantStatus[contestant].unk1B = i; + eContestantStatus[contestant].unk1B = i; } void SetContestantEffectStringID(u8 a, u8 b) { - sContestantStatus[a].effectStringId = b; + eContestantStatus[a].effectStringId = b; } void SetContestantEffectStringID2(u8 a, u8 b) { - sContestantStatus[a].effectStringId2 = b; + eContestantStatus[a].effectStringId2 = b; } void SetStartledString(u8 contestant, u8 jam) @@ -4285,81 +4373,103 @@ void SetStartledString(u8 contestant, u8 jam) static void sub_80DD45C(u8 contestant, u8 stringId) { StringCopy(gStringVar1, gContestMons[contestant].nickname); - StringCopy(gStringVar2, gMoveNames[sContestantStatus[contestant].currMove]); - if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL) + StringCopy(gStringVar2, gMoveNames[eContestantStatus[contestant].currMove]); + if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL) StringCopy(gStringVar3, gText_Contest_Shyness); - else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) + else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) StringCopy(gStringVar3, gText_Contest_Anxiety); - else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE) + else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE) StringCopy(gStringVar3, gText_Contest_Laziness); - else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART) + else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART) StringCopy(gStringVar3, gText_Contest_Hesitancy); else StringCopy(gStringVar3, gText_Contest_Fear); StringExpandPlaceholders(gStringVar4, gUnknown_08587E10[stringId]); - sub_80DB89C(); + ContestClearGeneralTextWindow(); Contest_StartTextPrinter(gStringVar4, 1); } void MakeContestantNervous(u8 p) { - sContestantStatus[p].nervous = 1; - sContestantStatus[p].currMove = MOVE_NONE; + eContestantStatus[p].nervous = TRUE; + eContestantStatus[p].currMove = MOVE_NONE; } -static void sub_80DD590(void) +// This function calculates the new turn order for the next round. The +// algorithm first checks for explicit turn assignments in the +// ContestantStatus::nextTurnOrder field of each contestant. The remaining +// turns are assigned such that the turn order will reverse. +// +// For example, if no pokemon have a defined nextTurnOrder, then the 4th +// will become 1st, the 3rd will become 2nd, etc. +// +// Note: This function assumes that multiple pokemon cannot have the same +// nextTurnOrder value. +static void ApplyNextTurnOrder(void) { - u8 r12 = 0; + u8 nextContestant = 0; s32 i; s32 j; - u8 sp0[4]; - u8 sp4[4]; + u8 newTurnOrder[CONTESTANT_COUNT]; + bool8 isContestantOrdered[CONTESTANT_COUNT]; - for (i = 0; i < 4; i++) + // Copy the current turn order. + for (i = 0; i < CONTESTANT_COUNT; i++) { - sp0[i] = gUnknown_02039F26[i]; - sp4[i] = 0; + newTurnOrder[i] = gContestantTurnOrder[i]; + isContestantOrdered[i] = FALSE; } - for (i = 0; i < 4; i++) + // For each turn, assign a contestant to that turn. + for (i = 0; i < CONTESTANT_COUNT; i++) { - for (j = 0; j < 4; j++) + // Look for explicit turn assignments. + for (j = 0; j < CONTESTANT_COUNT; j++) { - if (sContestantStatus[j].nextTurnOrder == i) + if (eContestantStatus[j].nextTurnOrder == i) { - sp0[j] = i; - sp4[j] = 1; + newTurnOrder[j] = i; + isContestantOrdered[j] = TRUE; break; } } - if (j == 4) + + if (j == CONTESTANT_COUNT) { - for (j = 0; j < 4; j++) + // No contestant was assigned to this turn. Look for the unassigned contestant + // with the highest turn order. + // + // First, look for the first unassigned contestant. + for (j = 0; j < CONTESTANT_COUNT; j++) { - if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF) + if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF) { - r12 = j; + nextContestant = j; j++; break; } } - for (; j < 4; j++) + + // Then, look for a better candidate, with a higher turn order. + for (; j < CONTESTANT_COUNT; j++) { - if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF - && gUnknown_02039F26[r12] > gUnknown_02039F26[j]) - r12 = j; + if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF + && gContestantTurnOrder[nextContestant] > gContestantTurnOrder[j]) + nextContestant = j; } - sp0[r12] = i; - sp4[r12] = 1; + + // Assign the contestant to this turn. + newTurnOrder[nextContestant] = i; + isContestantOrdered[nextContestant] = TRUE; } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - shared192D0.turnOrder[i] = sp0[i]; - sContestantStatus[i].nextTurnOrder = 0xFF; - sContestantStatus[i].turnOrderMod = 0; - gUnknown_02039F26[i] = sp0[i]; + eContestResources8.turnOrder[i] = newTurnOrder[i]; + eContestantStatus[i].nextTurnOrder = 0xFF; + eContestantStatus[i].turnOrderMod = 0; + gContestantTurnOrder[i] = newTurnOrder[i]; } } @@ -4370,13 +4480,13 @@ static void sub_80DD6DC(struct Sprite *sprite) sprite->data[1] = 0; sprite->invisible = TRUE; sprite->callback = SpriteCallbackDummy; - sContest.unk1920A_4 = 0; + eContest.unk1920A_4 = 0; } } static void sub_80DD720(u8 a) { - u8 spriteId = sContest.unk19216; + u8 spriteId = eContest.unk19216; switch (a) { @@ -4418,26 +4528,26 @@ static void sub_80DD720(u8 a) gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].callback = sub_80DD6DC; - sContest.unk1920A_4 = 1; + eContest.unk1920A_4 = 1; } -static void sub_80DD940(void) +static void UpdateApplauseMeter(void) { s32 i; - for (i = 0; i < 5; i++) + for (i = 0; i < APPLAUSE_METER_SIZE; i++) { const u8 *src; - if (i < sContest.applauseLevel) - src = gContestApplauseMeterGfx + 64; + if (i < eContest.applauseLevel) + src = &gContestApplauseMeterGfx[64]; else src = gContestApplauseMeterGfx; - CpuCopy32(src, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 17 + i) * 32), 32); - CpuCopy32(src + 32, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 25 + i) * 32), 32); + CpuCopy32(src, (void *)(VRAM + 0x10000 + (gSprites[eContest.applauseMeterSpriteId].oam.tileNum + 17 + i) * 32), 32); + CpuCopy32(src + 32, (void *)(VRAM + 0x10000 + (gSprites[eContest.applauseMeterSpriteId].oam.tileNum + 25 + i) * 32), 32); - if (sContest.applauseLevel > 4) - sub_80DDA20(); + if (eContest.applauseLevel > 4) + StartApplauseOverflowAnimation(); } } @@ -4446,48 +4556,56 @@ s8 Contest_GetMoveExcitement(u16 move) return gContestExcitementTable[gSpecialVar_ContestCategory][gContestMoves[move].contestCategory]; } -static u8 sub_80DDA20(void) +static u8 StartApplauseOverflowAnimation(void) { - u8 taskId = CreateTask(c3_08130B10, 10); + u8 taskId = CreateTask(Task_ApplauseOverflowAnimation, 10); gTasks[taskId].data[1] = 1; - gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x0ABE2); + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(APPLAUSE_METER_GFX_TAG); return taskId; } -static void c3_08130B10(u8 taskId) +static void Task_ApplauseOverflowAnimation(u8 taskId) { + // Skip every other frame. if (++gTasks[taskId].data[0] == 1) { gTasks[taskId].data[0] = 0; + + // Alternate between normal colors and white. if (gTasks[taskId].data[3] == 0) gTasks[taskId].data[4]++; else gTasks[taskId].data[4]--; - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB(31, 31, 31)); + + BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB_WHITE); + + // At the maximum or minimum blending, switch directions. if (gTasks[taskId].data[4] == 0 || gTasks[taskId].data[4] == 16) { gTasks[taskId].data[3] ^= 1; - if (sContest.applauseLevel < 5) + + // Continue the animation until the applause meter is cleared. + if (eContest.applauseLevel < 5) { - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB(31, 0, 0)); + BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB_RED); DestroyTask(taskId); } } } } -static void sub_80DDB0C(void) +static void StartMoveApplauseMeterOnscreen(void) { - CreateTask(sub_80DDB6C, 10); - gSprites[sContest.applauseMeterSpriteId].pos2.x = -70; - gSprites[sContest.applauseMeterSpriteId].invisible = FALSE; - sContest.unk1920A_6 = 1; + CreateTask(Task_MoveApplauseMeterOnscreen, 10); + gSprites[eContest.applauseMeterSpriteId].pos2.x = -70; + gSprites[eContest.applauseMeterSpriteId].invisible = FALSE; + eContest.applauseMeterIsMoving = TRUE; } -static void sub_80DDB6C(u8 taskId) +static void Task_MoveApplauseMeterOnscreen(u8 taskId) { - struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId]; + struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId]; gTasks[taskId].data[10] += 1664; sprite->pos2.x += gTasks[taskId].data[10] >> 8; @@ -4496,28 +4614,28 @@ static void sub_80DDB6C(u8 taskId) sprite->pos2.x = 0; if (sprite->pos2.x == 0) { - sContest.unk1920A_6 = 0; + eContest.applauseMeterIsMoving = FALSE; DestroyTask(taskId); } } -static void sub_80DDBE8(void) +static void TryMoveApplauseMeterOffscreen(void) { - if (gSprites[sContest.applauseMeterSpriteId].invisible == TRUE) + if (gSprites[eContest.applauseMeterSpriteId].invisible == TRUE) { - sContest.unk1920A_6 = 0; + eContest.applauseMeterIsMoving = FALSE; } else { - CreateTask(task08_080CD1CC, 10); - gSprites[sContest.applauseMeterSpriteId].pos2.x = 0; - sContest.unk1920A_6 = 1; + CreateTask(Task_MoveApplauseMeterOffscreen, 10); + gSprites[eContest.applauseMeterSpriteId].pos2.x = 0; + eContest.applauseMeterIsMoving = TRUE; } } -static void task08_080CD1CC(u8 taskId) +static void Task_MoveApplauseMeterOffscreen(u8 taskId) { - struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId]; + struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId]; gTasks[taskId].data[10] += 1664; sprite->pos2.x -= gTasks[taskId].data[10] >> 8; @@ -4527,29 +4645,29 @@ static void task08_080CD1CC(u8 taskId) if (sprite->pos2.x == -70) { sprite->invisible = TRUE; - sContest.unk1920A_6 = 0; + eContest.applauseMeterIsMoving = FALSE; DestroyTask(taskId); } } -static void sub_80DDCDC(s8 a) +static void ShowAndUpdateApplauseMeter(s8 unused) { - u8 taskId = CreateTask(sub_80DDD20, 5); + u8 taskId = CreateTask(Task_ShowAndUpdateApplauseMeter, 5); - gTasks[taskId].data[0] = a; - sContest.unk1920A_5 = 1; + gTasks[taskId].data[0] = unused; + eContest.isShowingApplauseMeter = TRUE; } -static void sub_80DDD20(u8 taskId) +static void Task_ShowAndUpdateApplauseMeter(u8 taskId) { switch (gTasks[taskId].data[10]) { case 0: - sub_80DDB0C(); + StartMoveApplauseMeterOnscreen(); gTasks[taskId].data[10]++; break; case 1: - if (!sContest.unk1920A_6) + if (!eContest.applauseMeterIsMoving) { gTasks[taskId].data[10]++; } @@ -4558,29 +4676,31 @@ static void sub_80DDD20(u8 taskId) if (gTasks[taskId].data[11]++ > 20) { gTasks[taskId].data[11] = 0; - sub_80DD940(); - sContest.unk1920A_5 = 0; + UpdateApplauseMeter(); + eContest.isShowingApplauseMeter = FALSE; DestroyTask(taskId); } break; } } -void unref_sub_80DDDA8(void) +// Unused. +void HideApplauseMeterNoAnim(void) { - gSprites[sContest.applauseMeterSpriteId].pos2.x = 0; - gSprites[sContest.applauseMeterSpriteId].invisible = FALSE; + gSprites[eContest.applauseMeterSpriteId].pos2.x = 0; + gSprites[eContest.applauseMeterSpriteId].invisible = FALSE; } -void unref_sub_80DDDE4(void) +// Unused. +void ShowApplauseMeterNoAnim(void) { - gSprites[sContest.applauseMeterSpriteId].invisible = TRUE; + gSprites[eContest.applauseMeterSpriteId].invisible = TRUE; } static void sub_80DDE0C(void) { CreateTask(sub_80DDE30, 15); - sContest.unk1920A_7 = 1; + eContest.unk1920A_7 = 1; } static void sub_80DDE30(u8 taskId) @@ -4590,11 +4710,11 @@ static void sub_80DDE30(u8 taskId) gTasks[taskId].data[10] = 0; if (gTasks[taskId].data[11] == 0) { - RequestDma3Copy(shared16800, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); + RequestDma3Copy(eUnknownHeap19000, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); } else { - RequestDma3Copy(shared15800, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); + RequestDma3Copy(eUnzippedContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1); gTasks[taskId].data[12]++; } @@ -4602,7 +4722,7 @@ static void sub_80DDE30(u8 taskId) if (gTasks[taskId].data[12] == 9) { - sContest.unk1920A_7 = 0; + eContest.unk1920A_7 = 0; DestroyTask(taskId); } } @@ -4624,11 +4744,11 @@ static void sub_80DDED0(s8 a, s8 b) if (b > 0) { blendCoeff = 0; - r3 = sContest.applauseLevel * 3; + r3 = eContest.applauseLevel * 3; } else { - blendCoeff = sContest.applauseLevel * 3; + blendCoeff = eContest.applauseLevel * 3; r3 = 0; } } @@ -4650,7 +4770,7 @@ static void sub_80DDED0(s8 a, s8 b) gTasks[taskId].tBlendCoeff = blendCoeff; gTasks[taskId].data[2] = b; gTasks[taskId].data[3] = r3; - sContest.unk1920B_0 = 0; + eContest.unk1920B_0 = 0; } static void sub_80DDF80(u8 taskId) @@ -4667,7 +4787,7 @@ static void sub_80DDF80(u8 taskId) if (gTasks[taskId].tBlendCoeff == gTasks[taskId].data[3]) { DestroyTask(taskId); - sContest.unk1920B_0 = 0; + eContest.unk1920B_0 = 0; } } } @@ -4681,10 +4801,10 @@ static void sub_80DE008(bool8 a) for (i = 0; i < 4; i++) { - if (sContestantStatus[i].turnOrderMod != 0 && a) + if (eContestantStatus[i].turnOrderMod != 0 && a) { CpuCopy32(GetTurnOrderNumberGfx(i), (void *)(VRAM + 0x10000 + (gSprites[gContestResources->field_14[i].unk1].oam.tileNum + 6) * 32), 32); - gSprites[gContestResources->field_14[i].unk1].pos1.y = gUnknown_08587A70[gUnknown_02039F26[i]]; + gSprites[gContestResources->field_14[i].unk1].pos1.y = gUnknown_08587A70[gContestantTurnOrder[i]]; gSprites[gContestResources->field_14[i].unk1].invisible = FALSE; } else @@ -4696,10 +4816,10 @@ static void sub_80DE008(bool8 a) static const u8 *GetTurnOrderNumberGfx(u8 contestant) { - if (sContestantStatus[contestant].turnOrderMod != 1) + if (eContestantStatus[contestant].turnOrderMod != 1) return gContestNextTurnRandomGfx; else - return gContestNextTurnNumbersGfx + sContestantStatus[contestant].nextTurnOrder * 32; + return gContestNextTurnNumbersGfx + eContestantStatus[contestant].nextTurnOrder * 32; } static void sub_80DE12C(void) @@ -4709,11 +4829,11 @@ static void sub_80DE12C(void) u8 r8 = 1; u8 r9 = 0x11; - for (r7 = 0; r7 < 4; r7++) + for (r7 = 0; r7 < CONTESTANT_COUNT; r7++) { - if (shared192D0.unnervedPokes[r7] != 0 && !Contest_IsMonsTurnDisabled(r7)) + if (eContestResources8.unnervedPokes[r7] != 0 && !Contest_IsMonsTurnDisabled(r7)) { - u32 r6 = gUnknown_02039F26[r7] * 5 + 2; + u32 r6 = gContestantTurnOrder[r7] * 5 + 2; u16 var = sub_80DB748(3); ContestBG_FillBoxWithIncrementingTile(0, var, 0x14, r6, r10, r8, r9, r8); @@ -4724,9 +4844,9 @@ static void sub_80DE12C(void) } } -bool8 sub_80DE1E8(u8 a) +bool8 sub_80DE1E8(u8 contestant) { - if (sContestantStatus[a].disappointedRepeat || sContestantStatus[a].nervous) + if (eContestantStatus[contestant].disappointedRepeat || eContestantStatus[contestant].nervous) return FALSE; else return TRUE; @@ -4758,7 +4878,7 @@ static void sub_80DE224(void) SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - CpuFill32(0, gContestResources->field_24[1], 0x1000); + CpuFill32(0, gContestResources->contestBgTilemaps[1], 0x1000); CopyToBgTilemapBuffer(1, gUnknown_08C17980, 0, 0); Contest_SetBgCopyFlags(1); @@ -4775,8 +4895,8 @@ static void sub_80DE350(void) s32 i; u16 bg1Cnt; - RequestDma3Fill(0,(void *)(BG_CHAR_ADDR(2)), 0x2000, 0x1); - CpuFill32(0, gContestResources->field_24[1], 0x1000); + RequestDma3Fill(0,(void *)(BG_CHAR_ADDR(2)), 0x2000, 1); + CpuFill32(0, gContestResources->contestBgTilemaps[1], 0x1000); Contest_SetBgCopyFlags(1); bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT); ((vBgCnt *) &bg1Cnt)->priority = 1; @@ -4789,7 +4909,7 @@ static void sub_80DE350(void) gBattle_BG1_X = 0; gBattle_BG1_Y = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { gSprites[gContestResources->field_14[i].unk0].oam.priority = 0; gSprites[gContestResources->field_14[i].unk1].oam.priority = 0; @@ -4824,27 +4944,27 @@ static void sub_80DE4A8(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - for (i = 0; i < 4; i++) - sContest.unk19218[i] = gUnknown_02039F26[i]; - sub_80DBF90(); + for (i = 0; i < CONTESTANT_COUNT; i++) + eContest.prevTurnOrder[i] = gContestantTurnOrder[i]; + FillContestantWindowBgs(); sub_80DC864(); sub_80DB69C(); - sub_80DD04C(); + DrawContestantWindows(); sub_80DE008(TRUE); sub_80DC44C(); gTasks[taskId].data[0] = 1; break; case 1: - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { u8 taskId2; - sContest.unk1920B_2 = 1; + eContest.unk1920B_2 = 1; if (sub_80DA8A4()) sub_80DBAA0(); taskId2 = CreateTask(sub_80FCC88, 0); SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); - sub_80DBF68(); + ContestPrintLinkStandby(); gTasks[taskId].data[0] = 2; } else @@ -4854,12 +4974,12 @@ static void sub_80DE4A8(u8 taskId) } break; case 2: - if (!sContest.unk1920B_2) + if (!eContest.unk1920B_2) gTasks[taskId].data[0] = 3; break; case 3: sub_80DB884(); - sub_80DB2BC(); + SwapMoveDescAndContestTilemaps(); gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_80DE5F4; break; @@ -4922,7 +5042,7 @@ static void sub_80DE69C(u8 a) s32 i; u8 taskId; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { gSprites[gContestResources->field_14[i].unk0].oam.matrixNum = AllocOamMatrix(); gSprites[gContestResources->field_14[i].unk0].oam.affineMode = 1; @@ -4935,7 +5055,7 @@ static void sub_80DE69C(u8 a) } taskId = CreateTask(sub_80DE794, 5); gTasks[taskId].data[0] = a; - sContest.unk1920B_1 = 1; + eContest.unk1920B_1 = 1; } static void sub_80DE794(u8 taskId) @@ -4946,12 +5066,12 @@ static void sub_80DE794(u8 taskId) { if ((u8)gTasks[taskId].data[0] == 1) { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gSprites[gContestResources->field_14[i].unk0].invisible = TRUE; } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) FreeSpriteOamMatrix(&gSprites[gContestResources->field_14[i].unk0]); - sContest.unk1920B_1 = 0; + eContest.unk1920B_1 = 0; DestroyTask(taskId); } } @@ -4973,13 +5093,13 @@ static u16 SanitizeSpecies(u16 species) static void sub_80DE864(u8 a) { s32 i; - u16 move = SanitizeMove(sContestantStatus[a].currMove); + u16 move = SanitizeMove(eContestantStatus[a].currMove); u16 species = SanitizeSpecies(gContestMons[a].species); u8 r5_2; memset(&gContestResources->field_18->species, 0, 0x14); ClearBattleAnimationVars(); - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) gBattleMonForms[i] = 0; switch (move) { @@ -4991,7 +5111,7 @@ static void sub_80DE864(u8 a) break; case MOVE_TRANSFORM: case MOVE_ROLE_PLAY: - r5_2 = sContestantStatus[a].unk1B; + r5_2 = eContestantStatus[a].unk1B; gContestResources->field_18->unk2 = SanitizeSpecies(gContestMons[r5_2].species); gContestResources->field_18->unk10 = gContestMons[r5_2].personality; gContestResources->field_18->unk4_0 = 1; @@ -5006,9 +5126,9 @@ static void sub_80DE864(u8 a) case MOVE_RAZOR_WIND: case MOVE_SKULL_BASH: case MOVE_SKY_ATTACK: - if (sContest.unk1925E == 0) + if (eContest.unk1925E == 0) { - sContest.unk1925E = 2; + eContest.unk1925E = 2; gAnimMoveTurn = 0; } else @@ -5022,17 +5142,17 @@ static void sub_80DE864(u8 a) static void sub_80DE9B0(u8 unused) { - memset(&gContestResources->field_18->species, 0, 0x14); - if (sContest.unk1925E != 0) - sContest.unk1925E--; + memset(gContestResources->field_18, 0, sizeof(struct ContestStruct_field_18)); + if (eContest.unk1925E != 0) + eContest.unk1925E--; } -static void sub_80DE9DC(u8 a) +static void sub_80DE9DC(u8 contestant) { - gContestResources->field_18->unk5 = a; - gContestResources->field_18->species = SanitizeSpecies(gContestMons[a].species); - gContestResources->field_18->unk8 = gContestMons[a].personality; - gContestResources->field_18->unkC = gContestMons[a].otId; + gContestResources->field_18->unk5 = contestant; + gContestResources->field_18->species = SanitizeSpecies(gContestMons[contestant].species); + gContestResources->field_18->unk8 = gContestMons[contestant].personality; + gContestResources->field_18->unkC = gContestMons[contestant].otId; } static void sub_80DEA20(void) @@ -5142,7 +5262,7 @@ static void Contest_StartTextPrinter(const u8 *currChar, bool32 b) } else { - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) speed = 4; else speed = GetPlayerTextSpeedDelay(); @@ -5153,15 +5273,15 @@ static void Contest_StartTextPrinter(const u8 *currChar, bool32 b) Contest_SetBgCopyFlags(0); } -static void ContestBG_FillBoxWithIncrementingTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g, s16 h) +static void ContestBG_FillBoxWithIncrementingTile(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumData) { - WriteSequenceToBgTilemapBuffer(a, b, c, d, e, f, g, h); - Contest_SetBgCopyFlags(a); + WriteSequenceToBgTilemapBuffer(bg, firstTileNum, x, y, width, height, paletteSlot, tileNumData); + Contest_SetBgCopyFlags(bg); } -static void ContestBG_FillBoxWithTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g) +static void ContestBG_FillBoxWithTile(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot) { - ContestBG_FillBoxWithIncrementingTile(a, b, c, d, e, f, g, 0); + ContestBG_FillBoxWithIncrementingTile(bg, firstTileNum, x, y, width, height, paletteSlot, 0); } static bool32 Contest_RunTextPrinters(void) @@ -5170,9 +5290,9 @@ static bool32 Contest_RunTextPrinters(void) return IsTextPrinterActive(4); } -static void Contest_SetBgCopyFlags(u32 var) +static void Contest_SetBgCopyFlags(u32 flagIndex) { - sContestBgCopyFlags |= 1 << var; + sContestBgCopyFlags |= 1 << flagIndex; } void ResetContestLinkResults(void) @@ -5180,7 +5300,7 @@ void ResetContestLinkResults(void) s32 i; s32 j; - for(i = 0; i < 5; i++) + for(i = 0; i < CONTEST_CATEGORIES_COUNT; i++) for(j = 0; j < 4; j++) gSaveBlock2Ptr->contestLinkResults[i][j] = 0; } @@ -5190,7 +5310,7 @@ bool8 sub_80DEDA8(u8 a) s32 i; u8 r7 = Random() % 3; - for (i = 0; i < 3; i++) + for (i = 0; i < CONTESTANT_COUNT - 1; i++) { if (gContestFinalStandings[i] == 0) break; @@ -5224,7 +5344,7 @@ bool8 sub_80DEDA8(u8 a) gSaveBlock1Ptr->contestWinners[r4].trainerId = gContestMons[i].otId; StringCopy(gSaveBlock1Ptr->contestWinners[r4].monName, gContestMons[i].nickname); StringCopy(gSaveBlock1Ptr->contestWinners[r4].trainerName, gContestMons[i].trainerName); - if(gIsLinkContest & 1) + if(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) gSaveBlock1Ptr->contestWinners[r4].contestRank = 4; else gSaveBlock1Ptr->contestWinners[r4].contestRank = gSpecialVar_ContestRank; @@ -5295,13 +5415,13 @@ static void sub_80DF080(u8 contestant) if (!gContestResources->field_10->excitementFrozen && gContestResources->field_10->bits_0 > 0 - && !gContestResources->field_4[contestant].disappointedRepeat) + && !eContestantStatus[contestant].disappointedRepeat) { gContestResources->field_1c[contestant].unkC |= 1; gContestResources->field_1c[contestant].unkE_2 = 1; } - if (gContestResources->field_4[contestant].nervous) + if (eContestantStatus[contestant].nervous) gContestResources->field_1c[contestant].unkC |= 2; if (!gContestResources->field_10->excitementFrozen @@ -5311,37 +5431,37 @@ static void sub_80DF080(u8 contestant) gContestResources->field_1c[contestant].unkC |= 4; } - if (gContestResources->field_4[contestant].unk15_6 - && gContestResources->field_4[contestant].unk16 != 0) + if (eContestantStatus[contestant].unk15_6 + && eContestantStatus[contestant].unk16 != 0) { gContestResources->field_1c[contestant].unkC |= 8; } for (i = 0; i < 4; i++) { - if (i != contestant && gContestResources->field_4[i].jam != 0) + if (i != contestant && eContestantStatus[i].jam != 0) { gContestResources->field_1c[contestant].unkC |= 0x10; gContestResources->field_1c[i].unkC |= 0x40; } } - if (gContestResources->field_4[contestant].numTurnsSkipped != 0 - || gContestResources->field_4[contestant].noMoreTurns) + if (eContestantStatus[contestant].numTurnsSkipped != 0 + || eContestantStatus[contestant].noMoreTurns) { gContestResources->field_1c[contestant].unkC |= 0x20; } - else if (!gContestResources->field_4[contestant].nervous) + else if (!eContestantStatus[contestant].nervous) { gContestResources->field_1c[contestant].unkC |= 0x80; gContestResources->field_1c[contestant].unkE_1 = 1; - gContestResources->field_1c[contestant].unk0[gContestResources->field_0->turnNumber] = gContestResources->field_4[contestant].currMove; + gContestResources->field_1c[contestant].unk0[eContest.turnNumber] = eContestantStatus[contestant].currMove; } - if (gContestResources->field_4[contestant].disappointedRepeat) + if (eContestantStatus[contestant].disappointedRepeat) gContestResources->field_1c[contestant].unkD |= 2; - if (gContestResources->field_0->applauseLevel == 4 + if (eContest.applauseLevel == 4 && !gContestResources->field_10->excitementFrozen && gContestResources->field_10->bits_0 < 0) { @@ -5373,7 +5493,7 @@ static void sub_80DF250(void) } gContestResources->field_1c[r1].unkD |= 1; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (i != var_38 && gUnknown_02039F08[var_38] - gUnknown_02039F08[i] <= 50) gContestResources->field_1c[i].unkD |= 4; @@ -5381,7 +5501,7 @@ static void sub_80DF250(void) if (!gContestResources->field_1c[i].unkE_2) gContestResources->field_1c[i].unkD |= 8; - for (j = 0; j < 4; j++) + for (j = 0; j < CONTESTANT_COUNT; j++) { if (gContestMonConditions[i] < gContestMonConditions[j]) break; @@ -5474,7 +5594,7 @@ static void sub_80DF4F8(void) return; r7 = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestFinalStandings[i] == 0) r7 = i; @@ -5482,7 +5602,7 @@ static void sub_80DF4F8(void) r9 = 0; r10 = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (gContestMonConditions[r7] < gContestMonConditions[i]) r9++; @@ -5526,7 +5646,7 @@ static void sub_80DF4F8(void) } r5 = 1; - for (; i < 4; i++) + for (; i < CONTESTANT_COUNT; i++) { if (i != r7) { @@ -5561,32 +5681,32 @@ static void sub_80DF4F8(void) } // Unused -void sub_80DF704(u8 arg0) +void ContestDebugToggleBitfields(bool8 showUnkD) { - if (gHeap[0x1A000] == 0) + if (eContestDebugMode == CONTEST_DEBUG_MODE_OFF) { - if (arg0 == 0) - gHeap[0x1A000] = 2; + if (!showUnkD) + eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_UNK_C; else - gHeap[0x1A000] = 3; + eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_UNK_D; } else { - gHeap[0x1A000] = 0; + eContestDebugMode = CONTEST_DEBUG_MODE_OFF; } - if (gHeap[0x1A000] == 0) + if (eContestDebugMode == CONTEST_DEBUG_MODE_OFF) { - sub_80DAEA4(); - sub_80DB2BC(); + DrawContestantWindowText(); + SwapMoveDescAndContestTilemaps(); } else { - sub_80DF750(); + ContestDebugPrintBitStrings(); } } -static void sub_80DF750(void) +static void ContestDebugPrintBitStrings(void) { u8 i; s8 j; @@ -5595,20 +5715,21 @@ static void sub_80DF750(void) u8 *txtPtr; u32 bits; - if (gUnknown_020322D5 == 0) + if (!gEnableContestDebugging) return; - if (gHeap[0x1A000] != 2 && gHeap[0x1A000] != 3) + + if (eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_UNK_C && eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_UNK_D) return; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - if (gHeap[0x1A000] == 2) + if (eContestDebugMode == CONTEST_DEBUG_MODE_PRINT_UNK_C) { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { txtPtr = StringCopy(text1, gText_CDot); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1, 5, 1, 7); bits = gContestResources->field_1c[i].unkC; for (j = 7; j > -1; j--) // Weird loop. { @@ -5620,13 +5741,13 @@ static void sub_80DF750(void) text2[j] = text1[j]; text2[j] = EOS; - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7); } } else { - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { StringCopy(text1, gText_BDot); bits = gContestResources->field_1c[i].unkD; @@ -5641,11 +5762,11 @@ static void sub_80DF750(void) text2[j] = text1[j]; text2[j] = EOS; - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7); - Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7); } } - sub_80DB2BC(); + SwapMoveDescAndContestTilemaps(); } static u8 sub_80DF940(u8 *nickname) diff --git a/src/contest_ai.c b/src/contest_ai.c index 97e8c8f29..723c503ab 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -6,29 +6,29 @@ #include "contest_effect.h" extern const u8 *gAIScriptPtr; -extern const u8 *gContestAIs[]; +extern const u8 *gContestAIChecks[]; -static void ContestAICmd_unk_00(void); +static void ContestAICmd_score(void); static void ContestAICmd_get_turn(void); -static void ContestAICmd_unk_02(void); -static void ContestAICmd_unk_03(void); -static void ContestAICmd_unk_04(void); -static void ContestAICmd_unk_05(void); +static void ContestAICmd_if_turn_less_than(void); +static void ContestAICmd_if_turn_more_than(void); +static void ContestAICmd_if_turn_eq(void); +static void ContestAICmd_if_turn_not_eq(void); static void ContestAICmd_get_excitement(void); -static void ContestAICmd_unk_07(void); -static void ContestAICmd_unk_08(void); -static void ContestAICmd_unk_09(void); -static void ContestAICmd_unk_0A(void); +static void ContestAICmd_if_excitement_less_than(void); +static void ContestAICmd_if_excitement_more_than(void); +static void ContestAICmd_if_excitement_eq(void); +static void ContestAICmd_if_excitement_not_eq(void); static void ContestAICmd_get_user_order(void); -static void ContestAICmd_unk_0C(void); -static void ContestAICmd_unk_0D(void); -static void ContestAICmd_unk_0E(void); -static void ContestAICmd_unk_0F(void); -static void ContestAICmd_get_user_condition_maybe(void); -static void ContestAICmd_unk_11(void); -static void ContestAICmd_unk_12(void); -static void ContestAICmd_unk_13(void); -static void ContestAICmd_unk_14(void); +static void ContestAICmd_if_user_order_less_than(void); +static void ContestAICmd_if_user_order_more_than(void); +static void ContestAICmd_if_user_order_eq(void); +static void ContestAICmd_if_user_order_not_eq(void); +static void ContestAICmd_get_user_condition(void); +static void ContestAICmd_if_user_condition_less_than(void); +static void ContestAICmd_if_user_condition_more_than(void); +static void ContestAICmd_if_user_condition_eq(void); +static void ContestAICmd_if_user_condition_not_eq(void); static void ContestAICmd_unk_15(void); static void ContestAICmd_unk_16(void); static void ContestAICmd_unk_17(void); @@ -40,21 +40,21 @@ static void ContestAICmd_unk_1C(void); static void ContestAICmd_unk_1D(void); static void ContestAICmd_unk_1E(void); static void ContestAICmd_get_contest_type(void); -static void ContestAICmd_unk_20(void); -static void ContestAICmd_unk_21(void); +static void ContestAICmd_if_contest_type_eq(void); +static void ContestAICmd_if_contest_type_not_eq(void); static void ContestAICmd_get_move_excitement(void); -static void ContestAICmd_unk_23(void); -static void ContestAICmd_unk_24(void); -static void ContestAICmd_unk_25(void); -static void ContestAICmd_unk_26(void); +static void ContestAICmd_if_move_excitement_less_than(void); +static void ContestAICmd_if_move_excitement_greater_than(void); +static void ContestAICmd_if_move_excitement_eq(void); +static void ContestAICmd_if_move_excitement_not_eq(void); static void ContestAICmd_get_move_effect(void); -static void ContestAICmd_unk_28(void); -static void ContestAICmd_unk_29(void); +static void ContestAICmd_if_move_effect_eq(void); +static void ContestAICmd_if_move_effect_not_eq(void); static void ContestAICmd_get_move_effect_type(void); -static void ContestAICmd_unk_2B(void); -static void ContestAICmd_unk_2C(void); -static void ContestAICmd_check_move_has_highest_appeal(void); -static void ContestAICmd_unk_2E(void); +static void ContestAICmd_if_move_effect_type_eq(void); +static void ContestAICmd_if_move_effect_type_not_eq(void); +static void ContestAICmd_check_most_appealing_move(void); +static void ContestAICmd_if_most_appealing_move(void); static void ContestAICmd_unk_2F(void); static void ContestAICmd_unk_30(void); static void ContestAICmd_unk_31(void); @@ -68,35 +68,35 @@ static void ContestAICmd_unk_38(void); static void ContestAICmd_unk_39(void); static void ContestAICmd_unk_3A(void); static void ContestAICmd_get_move_used_count(void); -static void ContestAICmd_unk_3C(void); -static void ContestAICmd_unk_3D(void); -static void ContestAICmd_unk_3E(void); -static void ContestAICmd_unk_3F(void); +static void ContestAICmd_if_most_used_count_less_than(void); +static void ContestAICmd_if_most_used_count_more_than(void); +static void ContestAICmd_if_most_used_count_eq(void); +static void ContestAICmd_if_most_used_count_not_eq(void); static void ContestAICmd_check_combo_starter(void); -static void ContestAICmd_unk_41(void); -static void ContestAICmd_unk_42(void); +static void ContestAICmd_if_combo_starter(void); +static void ContestAICmd_if_not_combo_starter(void); static void ContestAICmd_check_combo_finisher(void); -static void ContestAICmd_unk_44(void); -static void ContestAICmd_unk_45(void); +static void ContestAICmd_if_combo_finisher(void); +static void ContestAICmd_if_not_combo_finisher(void); static void ContestAICmd_check_would_finish_combo(void); -static void ContestAICmd_unk_47(void); -static void ContestAICmd_unk_48(void); +static void ContestAICmd_if_would_finish_combo(void); +static void ContestAICmd_if_would_not_finish_combo(void); static void ContestAICmd_get_condition(void); -static void ContestAICmd_unk_4A(void); -static void ContestAICmd_unk_4B(void); -static void ContestAICmd_unk_4C(void); -static void ContestAICmd_unk_4D(void); +static void ContestAICmd_if_condition_less_than(void); +static void ContestAICmd_if_condition_more_than(void); +static void ContestAICmd_if_condition_eq(void); +static void ContestAICmd_if_condition_not_eq(void); static void ContestAICmd_get_used_combo_starter(void); -static void ContestAICmd_unk_4F(void); -static void ContestAICmd_unk_50(void); -static void ContestAICmd_unk_51(void); -static void ContestAICmd_unk_52(void); +static void ContestAICmd_if_used_combo_starter_less_than(void); +static void ContestAICmd_if_used_combo_starter_more_than(void); +static void ContestAICmd_if_used_combo_starter_eq(void); +static void ContestAICmd_if_used_combo_starter_not_eq(void); static void ContestAICmd_check_can_participate(void); -static void ContestAICmd_unk_54(void); -static void ContestAICmd_unk_55(void); +static void ContestAICmd_if_can_participate(void); +static void ContestAICmd_if_cannot_participate(void); static void ContestAICmd_get_val_812A188(void); static void ContestAICmd_unk_57(void); -static void ContestAICmd_unk_58(void); +static void ContestAICmd_contest_58(void); static void ContestAICmd_unk_59(void); static void ContestAICmd_unk_5A(void); static void ContestAICmd_unk_5B(void); @@ -133,158 +133,158 @@ static void ContestAICmd_unk_79(void); static void ContestAICmd_unk_7A(void); static void ContestAICmd_unk_7B(void); static void ContestAICmd_unk_7C(void); -static void ContestAICmd_unk_7D(void); +static void ContestAICmd_if_random(void); static void ContestAICmd_unk_7E(void); -static void ContestAICmd_unk_7F(void); -static void ContestAICmd_unk_80(void); -static void ContestAICmd_unk_81(void); -static void ContestAICmd_check_for_exciting_move(void); -static void ContestAICmd_unk_83(void); -static void ContestAICmd_unk_84(void); +static void ContestAICmd_jump(void); +static void ContestAICmd_call(void); +static void ContestAICmd_end(void); +static void ContestAICmd_check_user_has_exciting_move(void); +static void ContestAICmd_if_user_has_exciting_move(void); +static void ContestAICmd_if_user_doesnt_have_exciting_move(void); static void ContestAICmd_unk_85(void); static void ContestAICmd_unk_86(void); -static void ContestAICmd_unk_87(void); +static void ContestAICmd_if_effect_in_user_moveset(void); typedef void (* ContestAICmdFunc)(void); static const ContestAICmdFunc sContestAICmdTable[] = { - ContestAICmd_unk_00, // 0x00 - ContestAICmd_get_turn, // 0x01 - ContestAICmd_unk_02, // 0x02 - ContestAICmd_unk_03, // 0x03 - ContestAICmd_unk_04, // 0x04 - ContestAICmd_unk_05, // 0x05 - ContestAICmd_get_excitement, // 0x06 - ContestAICmd_unk_07, // 0x07 - ContestAICmd_unk_08, // 0x08 - ContestAICmd_unk_09, // 0x09 - ContestAICmd_unk_0A, // 0x0A - ContestAICmd_get_user_order, // 0x0B - ContestAICmd_unk_0C, // 0x0C - ContestAICmd_unk_0D, // 0x0D - ContestAICmd_unk_0E, // 0x0E - ContestAICmd_unk_0F, // 0x0F - ContestAICmd_get_user_condition_maybe, // 0x10 - ContestAICmd_unk_11, // 0x11 - ContestAICmd_unk_12, // 0x12 - ContestAICmd_unk_13, // 0x13 - ContestAICmd_unk_14, // 0x14 - ContestAICmd_unk_15, // 0x15 - ContestAICmd_unk_16, // 0x16 - ContestAICmd_unk_17, // 0x17 - ContestAICmd_unk_18, // 0x18 - ContestAICmd_unk_19, // 0x19 - ContestAICmd_unk_1A, // 0x1A - ContestAICmd_unk_1B, // 0x1B - ContestAICmd_unk_1C, // 0x1C - ContestAICmd_unk_1D, // 0x1D - ContestAICmd_unk_1E, // 0x1E - ContestAICmd_get_contest_type, // 0x1F - ContestAICmd_unk_20, // 0x20 - ContestAICmd_unk_21, // 0x21 - ContestAICmd_get_move_excitement, // 0x22 - ContestAICmd_unk_23, // 0x23 - ContestAICmd_unk_24, // 0x24 - ContestAICmd_unk_25, // 0x25 - ContestAICmd_unk_26, // 0x26 - ContestAICmd_get_move_effect, // 0x27 - ContestAICmd_unk_28, // 0x28 - ContestAICmd_unk_29, // 0x29 - ContestAICmd_get_move_effect_type, // 0x2A - ContestAICmd_unk_2B, // 0x2B - ContestAICmd_unk_2C, // 0x2C - ContestAICmd_check_move_has_highest_appeal, // 0x2D - ContestAICmd_unk_2E, // 0x2E - ContestAICmd_unk_2F, // 0x2F - ContestAICmd_unk_30, // 0x30 - ContestAICmd_unk_31, // 0x31 - ContestAICmd_unk_32, // 0x32 - ContestAICmd_unk_33, // 0x33 - ContestAICmd_unk_34, // 0x34 - ContestAICmd_unk_35, // 0x35 - ContestAICmd_unk_36, // 0x36 - ContestAICmd_unk_37, // 0x37 - ContestAICmd_unk_38, // 0x38 - ContestAICmd_unk_39, // 0x39 - ContestAICmd_unk_3A, // 0x3A - ContestAICmd_get_move_used_count, // 0x3B - ContestAICmd_unk_3C, // 0x3C - ContestAICmd_unk_3D, // 0x3D - ContestAICmd_unk_3E, // 0x3E - ContestAICmd_unk_3F, // 0x3F - ContestAICmd_check_combo_starter, // 0x40 - ContestAICmd_unk_41, // 0x41 - ContestAICmd_unk_42, // 0x42 - ContestAICmd_check_combo_finisher, // 0x43 - ContestAICmd_unk_44, // 0x44 - ContestAICmd_unk_45, // 0x45 - ContestAICmd_check_would_finish_combo, // 0x46 - ContestAICmd_unk_47, // 0x47 - ContestAICmd_unk_48, // 0x48 - ContestAICmd_get_condition, // 0x49 - ContestAICmd_unk_4A, // 0x4A - ContestAICmd_unk_4B, // 0x4B - ContestAICmd_unk_4C, // 0x4C - ContestAICmd_unk_4D, // 0x4D - ContestAICmd_get_used_combo_starter, // 0x4E - ContestAICmd_unk_4F, // 0x4F - ContestAICmd_unk_50, // 0x50 - ContestAICmd_unk_51, // 0x51 - ContestAICmd_unk_52, // 0x52 - ContestAICmd_check_can_participate, // 0x53 - ContestAICmd_unk_54, // 0x54 - ContestAICmd_unk_55, // 0x55 - ContestAICmd_get_val_812A188, // 0x56 - ContestAICmd_unk_57, // 0x57 - ContestAICmd_unk_58, // 0x58 - ContestAICmd_unk_59, // 0x59 - ContestAICmd_unk_5A, // 0x5A - ContestAICmd_unk_5B, // 0x5B - ContestAICmd_unk_5C, // 0x5C - ContestAICmd_unk_5D, // 0x5D - ContestAICmd_unk_5E, // 0x5E - ContestAICmd_unk_5F, // 0x5F - ContestAICmd_unk_60, // 0x60 - ContestAICmd_unk_61, // 0x61 - ContestAICmd_unk_62, // 0x62 - ContestAICmd_unk_63, // 0x63 - ContestAICmd_unk_64, // 0x64 - ContestAICmd_unk_65, // 0x65 - ContestAICmd_unk_66, // 0x66 - ContestAICmd_unk_67, // 0x67 - ContestAICmd_unk_68, // 0x68 - ContestAICmd_unk_69, // 0x69 - ContestAICmd_unk_6A, // 0x6A - ContestAICmd_unk_6B, // 0x6B - ContestAICmd_unk_6C, // 0x6C - ContestAICmd_unk_6D, // 0x6D - ContestAICmd_unk_6E, // 0x6E - ContestAICmd_unk_6F, // 0x6F - ContestAICmd_unk_70, // 0x70 - ContestAICmd_unk_71, // 0x71 - ContestAICmd_unk_72, // 0x72 - ContestAICmd_unk_73, // 0x73 - ContestAICmd_unk_74, // 0x74 - ContestAICmd_unk_75, // 0x75 - ContestAICmd_unk_76, // 0x76 - ContestAICmd_unk_77, // 0x77 - ContestAICmd_unk_78, // 0x78 - ContestAICmd_unk_79, // 0x79 - ContestAICmd_unk_7A, // 0x7A - ContestAICmd_unk_7B, // 0x7B - ContestAICmd_unk_7C, // 0x7C - ContestAICmd_unk_7D, // 0x7D - ContestAICmd_unk_7E, // 0x7E - ContestAICmd_unk_7F, // 0x7F - ContestAICmd_unk_80, // 0x80 - ContestAICmd_unk_81, // 0x81 - ContestAICmd_check_for_exciting_move, // 0x82 - ContestAICmd_unk_83, // 0x83 - ContestAICmd_unk_84, // 0x84 - ContestAICmd_unk_85, // 0x85 - ContestAICmd_unk_86, // 0x86 - ContestAICmd_unk_87, // 0x87 + ContestAICmd_score, // 0x00 + ContestAICmd_get_turn, // 0x01 + ContestAICmd_if_turn_less_than, // 0x02 + ContestAICmd_if_turn_more_than, // 0x03 + ContestAICmd_if_turn_eq, // 0x04 + ContestAICmd_if_turn_not_eq, // 0x05 + ContestAICmd_get_excitement, // 0x06 + ContestAICmd_if_excitement_less_than, // 0x07 + ContestAICmd_if_excitement_more_than, // 0x08 + ContestAICmd_if_excitement_eq, // 0x09 + ContestAICmd_if_excitement_not_eq, // 0x0A + ContestAICmd_get_user_order, // 0x0B + ContestAICmd_if_user_order_less_than, // 0x0C + ContestAICmd_if_user_order_more_than, // 0x0D + ContestAICmd_if_user_order_eq, // 0x0E + ContestAICmd_if_user_order_not_eq, // 0x0F + ContestAICmd_get_user_condition, // 0x10 + ContestAICmd_if_user_condition_less_than, // 0x11 + ContestAICmd_if_user_condition_more_than, // 0x12 + ContestAICmd_if_user_condition_eq, // 0x13 + ContestAICmd_if_user_condition_not_eq, // 0x14 + ContestAICmd_unk_15, // 0x15 + ContestAICmd_unk_16, // 0x16 + ContestAICmd_unk_17, // 0x17 + ContestAICmd_unk_18, // 0x18 + ContestAICmd_unk_19, // 0x19 + ContestAICmd_unk_1A, // 0x1A + ContestAICmd_unk_1B, // 0x1B + ContestAICmd_unk_1C, // 0x1C + ContestAICmd_unk_1D, // 0x1D + ContestAICmd_unk_1E, // 0x1E + ContestAICmd_get_contest_type, // 0x1F + ContestAICmd_if_contest_type_eq, // 0x20 + ContestAICmd_if_contest_type_not_eq, // 0x21 + ContestAICmd_get_move_excitement, // 0x22 + ContestAICmd_if_move_excitement_less_than, // 0x23 + ContestAICmd_if_move_excitement_greater_than, // 0x24 + ContestAICmd_if_move_excitement_eq, // 0x25 + ContestAICmd_if_move_excitement_not_eq, // 0x26 + ContestAICmd_get_move_effect, // 0x27 + ContestAICmd_if_move_effect_eq, // 0x28 + ContestAICmd_if_move_effect_not_eq, // 0x29 + ContestAICmd_get_move_effect_type, // 0x2A + ContestAICmd_if_move_effect_type_eq, // 0x2B + ContestAICmd_if_move_effect_type_not_eq, // 0x2C + ContestAICmd_check_most_appealing_move, // 0x2D + ContestAICmd_if_most_appealing_move, // 0x2E + ContestAICmd_unk_2F, // 0x2F + ContestAICmd_unk_30, // 0x30 + ContestAICmd_unk_31, // 0x31 + ContestAICmd_unk_32, // 0x32 + ContestAICmd_unk_33, // 0x33 + ContestAICmd_unk_34, // 0x34 + ContestAICmd_unk_35, // 0x35 + ContestAICmd_unk_36, // 0x36 + ContestAICmd_unk_37, // 0x37 + ContestAICmd_unk_38, // 0x38 + ContestAICmd_unk_39, // 0x39 + ContestAICmd_unk_3A, // 0x3A + ContestAICmd_get_move_used_count, // 0x3B + ContestAICmd_if_most_used_count_less_than, // 0x3C + ContestAICmd_if_most_used_count_more_than, // 0x3D + ContestAICmd_if_most_used_count_eq, // 0x3E + ContestAICmd_if_most_used_count_not_eq, // 0x3F + ContestAICmd_check_combo_starter, // 0x40 + ContestAICmd_if_combo_starter, // 0x41 + ContestAICmd_if_not_combo_starter, // 0x42 + ContestAICmd_check_combo_finisher, // 0x43 + ContestAICmd_if_combo_finisher, // 0x44 + ContestAICmd_if_not_combo_finisher, // 0x45 + ContestAICmd_check_would_finish_combo, // 0x46 + ContestAICmd_if_would_finish_combo, // 0x47 + ContestAICmd_if_would_not_finish_combo, // 0x48 + ContestAICmd_get_condition, // 0x49 + ContestAICmd_if_condition_less_than, // 0x4A + ContestAICmd_if_condition_more_than, // 0x4B + ContestAICmd_if_condition_eq, // 0x4C + ContestAICmd_if_condition_not_eq, // 0x4D + ContestAICmd_get_used_combo_starter, // 0x4E + ContestAICmd_if_used_combo_starter_less_than, // 0x4F + ContestAICmd_if_used_combo_starter_more_than, // 0x50 + ContestAICmd_if_used_combo_starter_eq, // 0x51 + ContestAICmd_if_used_combo_starter_not_eq, // 0x52 + ContestAICmd_check_can_participate, // 0x53 + ContestAICmd_if_can_participate, // 0x54 + ContestAICmd_if_cannot_participate, // 0x55 + ContestAICmd_get_val_812A188, // 0x56 + ContestAICmd_unk_57, // 0x57 + ContestAICmd_contest_58, // 0x58 + ContestAICmd_unk_59, // 0x59 + ContestAICmd_unk_5A, // 0x5A + ContestAICmd_unk_5B, // 0x5B + ContestAICmd_unk_5C, // 0x5C + ContestAICmd_unk_5D, // 0x5D + ContestAICmd_unk_5E, // 0x5E + ContestAICmd_unk_5F, // 0x5F + ContestAICmd_unk_60, // 0x60 + ContestAICmd_unk_61, // 0x61 + ContestAICmd_unk_62, // 0x62 + ContestAICmd_unk_63, // 0x63 + ContestAICmd_unk_64, // 0x64 + ContestAICmd_unk_65, // 0x65 + ContestAICmd_unk_66, // 0x66 + ContestAICmd_unk_67, // 0x67 + ContestAICmd_unk_68, // 0x68 + ContestAICmd_unk_69, // 0x69 + ContestAICmd_unk_6A, // 0x6A + ContestAICmd_unk_6B, // 0x6B + ContestAICmd_unk_6C, // 0x6C + ContestAICmd_unk_6D, // 0x6D + ContestAICmd_unk_6E, // 0x6E + ContestAICmd_unk_6F, // 0x6F + ContestAICmd_unk_70, // 0x70 + ContestAICmd_unk_71, // 0x71 + ContestAICmd_unk_72, // 0x72 + ContestAICmd_unk_73, // 0x73 + ContestAICmd_unk_74, // 0x74 + ContestAICmd_unk_75, // 0x75 + ContestAICmd_unk_76, // 0x76 + ContestAICmd_unk_77, // 0x77 + ContestAICmd_unk_78, // 0x78 + ContestAICmd_unk_79, // 0x79 + ContestAICmd_unk_7A, // 0x7A + ContestAICmd_unk_7B, // 0x7B + ContestAICmd_unk_7C, // 0x7C + ContestAICmd_if_random, // 0x7D + ContestAICmd_unk_7E, // 0x7E + ContestAICmd_jump, // 0x7F + ContestAICmd_call, // 0x80 + ContestAICmd_end, // 0x81 + ContestAICmd_check_user_has_exciting_move, // 0x82 + ContestAICmd_if_user_has_exciting_move, // 0x83 + ContestAICmd_if_user_doesnt_have_exciting_move, // 0x84 + ContestAICmd_unk_85, // 0x85 + ContestAICmd_unk_86, // 0x86 + ContestAICmd_if_effect_in_user_moveset, // 0x87 }; static void ContestAI_DoAIProcessing(void); @@ -295,38 +295,38 @@ static u8 AIStackPop(void); void ContestAI_ResetAI(u8 contestantAI) { int i; - memset(eContestAI, 0, sizeof(struct ContestAIInfo)); + memset(&eContestAI, 0, sizeof(struct ContestAIInfo)); for (i = 0; i < 4; i++) - eContestAI->unk5[i] = 100; + eContestAI.unk5[i] = 100; - eContestAI->contestantId = contestantAI; - eContestAI->stackSize = 0; - eContestAI->flags = gContestMons[eContestAI->contestantId].flags; + eContestAI.contestantId = contestantAI; + eContestAI.stackSize = 0; + eContestAI.aiChecks = gContestMons[eContestAI.contestantId].aiChecks; } u8 ContestAI_GetActionToUse(void) { - while (eContestAI->flags != 0) + while (eContestAI.aiChecks != 0) { - if (eContestAI->flags & 1) + if (eContestAI.aiChecks & 1) { - eContestAI->aiState = 0; + eContestAI.aiState = CONTESTAI_SETTING_UP; ContestAI_DoAIProcessing(); } - eContestAI->flags >>= 1; - eContestAI->unk10++; - eContestAI->unk4 = 0; + eContestAI.aiChecks >>= 1; + eContestAI.currentAICheck++; + eContestAI.nextMoveIndex = 0; } while (1) { u8 rval = Random() & 3; - u8 r2 = eContestAI->unk5[rval]; + u8 r2 = eContestAI.unk5[rval]; int i; for (i = 0; i < 4; i++) { - if (r2 < eContestAI->unk5[i]) + if (r2 < eContestAI.unk5[i]) break; } if (i == 4) @@ -336,37 +336,40 @@ u8 ContestAI_GetActionToUse(void) static void ContestAI_DoAIProcessing(void) { - while (eContestAI->aiState != CONTESTAI_FINISHED) + while (eContestAI.aiState != CONTESTAI_FINISHED) { - switch(eContestAI->aiState) + switch(eContestAI.aiState) { case CONTESTAI_DO_NOT_PROCESS: break; case CONTESTAI_SETTING_UP: - gAIScriptPtr = gContestAIs[eContestAI->unk10]; + gAIScriptPtr = gContestAIChecks[eContestAI.currentAICheck]; - if (gContestMons[eContestAI->contestantId].moves[eContestAI->unk4] == 0) - eContestAI->unk2 = 0; // don't process a move that doesn't exist. + if (gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex] == 0) + eContestAI.nextMove = 0; // don't process a move that doesn't exist. else - eContestAI->unk2 = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; - eContestAI->aiState++; + eContestAI.nextMove = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; + eContestAI.aiState++; break; case CONTESTAI_PROCESSING: - if (eContestAI->unk2 != 0) + if (eContestAI.nextMove != 0) + { sContestAICmdTable[*gAIScriptPtr](); // run the command. + } else { - eContestAI->unk5[eContestAI->unk4] = 0; // don't consider a move that doesn't exist. - eContestAI->aiAction |= 1; + eContestAI.unk5[eContestAI.nextMoveIndex] = 0; // don't consider a move that doesn't exist. + eContestAI.aiAction |= 1; } - if (eContestAI->aiAction & 1) + if (eContestAI.aiAction & 1) { - eContestAI->unk4++; - if (eContestAI->unk4 < 4) - eContestAI->aiState = 0; + eContestAI.nextMoveIndex++; + if (eContestAI.nextMoveIndex < 4) + eContestAI.aiState = 0; else - eContestAI->aiState++; - eContestAI->aiAction &= 0xFE; // TODO: Define action flags + // aiState = CONTESTAI_FINISHED + eContestAI.aiState++; + eContestAI.aiAction &= 0xFE; // TODO: Define action flags } break; } @@ -378,67 +381,67 @@ static u8 sub_81563B0(u8 var) int i; for (i = 0; i < 4; i++) - if (shared192D0.turnOrder[i] == var) + if (eContestResources8.turnOrder[i] == var) break; return i; } -static void ContestAICmd_unk_00(void) +static void ContestAICmd_score(void) { - s16 score = eContestAI->unk5[eContestAI->unk4] + (s8)gAIScriptPtr[1]; + s16 score = eContestAI.unk5[eContestAI.nextMoveIndex] + (s8)gAIScriptPtr[1]; if (score > 255) score = 255; else if (score < 0) score = 0; - eContestAI->unk5[eContestAI->unk4] = score; + eContestAI.unk5[eContestAI.nextMoveIndex] = score; gAIScriptPtr += 2; } static void ContestAICmd_get_turn(void) { - eContestAI->scriptResult = sContest.turnNumber; + eContestAI.scriptResult = eContest.turnNumber; gAIScriptPtr += 1; } -static void ContestAICmd_unk_02(void) +static void ContestAICmd_if_turn_less_than(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_03(void) +static void ContestAICmd_if_turn_more_than(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_04(void) +static void ContestAICmd_if_turn_eq(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_05(void) +static void ContestAICmd_if_turn_not_eq(void) { ContestAICmd_get_turn(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -446,45 +449,45 @@ static void ContestAICmd_unk_05(void) static void ContestAICmd_get_excitement(void) { - eContestAI->scriptResult = sContest.applauseLevel; + eContestAI.scriptResult = eContest.applauseLevel; gAIScriptPtr += 1; } -static void ContestAICmd_unk_07(void) +static void ContestAICmd_if_excitement_less_than(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_08(void) +static void ContestAICmd_if_excitement_more_than(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_09(void) +static void ContestAICmd_if_excitement_eq(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0A(void) +static void ContestAICmd_if_excitement_not_eq(void) { ContestAICmd_get_excitement(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -492,91 +495,91 @@ static void ContestAICmd_unk_0A(void) static void ContestAICmd_get_user_order(void) { - eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->contestantId]; + eContestAI.scriptResult = eContestResources8.turnOrder[eContestAI.contestantId]; gAIScriptPtr += 1; } -static void ContestAICmd_unk_0C(void) +static void ContestAICmd_if_user_order_less_than(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0D(void) +static void ContestAICmd_if_user_order_more_than(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0E(void) +static void ContestAICmd_if_user_order_eq(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_0F(void) +static void ContestAICmd_if_user_order_not_eq(void) { ContestAICmd_get_user_order(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_get_user_condition_maybe(void) +static void ContestAICmd_get_user_condition(void) { - eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].condition / 10; + eContestAI.scriptResult = eContestantStatus[eContestAI.contestantId].condition / 10; gAIScriptPtr += 1; } -static void ContestAICmd_unk_11(void) +static void ContestAICmd_if_user_condition_less_than(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_12(void) +static void ContestAICmd_if_user_condition_more_than(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_13(void) +static void ContestAICmd_if_user_condition_eq(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_14(void) +static void ContestAICmd_if_user_condition_not_eq(void) { - ContestAICmd_get_user_condition_maybe(); + ContestAICmd_get_user_condition(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -584,7 +587,7 @@ static void ContestAICmd_unk_14(void) static void ContestAICmd_unk_15(void) { - eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].unk4; + eContestAI.scriptResult = eContestantStatus[eContestAI.contestantId].pointTotal; gAIScriptPtr += 1; } @@ -592,7 +595,7 @@ static void ContestAICmd_unk_16(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -602,7 +605,7 @@ static void ContestAICmd_unk_17(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -612,7 +615,7 @@ static void ContestAICmd_unk_18(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -622,7 +625,7 @@ static void ContestAICmd_unk_19(void) { ContestAICmd_unk_15(); - if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -630,7 +633,7 @@ static void ContestAICmd_unk_19(void) static void ContestAICmd_unk_1A(void) { - eContestAI->scriptResult = gContestMonConditions[eContestAI->contestantId]; + eContestAI.scriptResult = gContestMonConditions[eContestAI.contestantId]; gAIScriptPtr += 1; } @@ -638,7 +641,7 @@ static void ContestAICmd_unk_1B(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -648,7 +651,7 @@ static void ContestAICmd_unk_1C(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -658,7 +661,7 @@ static void ContestAICmd_unk_1D(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -668,7 +671,7 @@ static void ContestAICmd_unk_1E(void) { ContestAICmd_unk_1A(); - if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -676,25 +679,25 @@ static void ContestAICmd_unk_1E(void) static void ContestAICmd_get_contest_type(void) { - eContestAI->scriptResult = gSpecialVar_ContestCategory; + eContestAI.scriptResult = gSpecialVar_ContestCategory; gAIScriptPtr += 1; } -static void ContestAICmd_unk_20(void) +static void ContestAICmd_if_contest_type_eq(void) { ContestAICmd_get_contest_type(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_21(void) +static void ContestAICmd_if_contest_type_not_eq(void) { ContestAICmd_get_contest_type(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -702,45 +705,45 @@ static void ContestAICmd_unk_21(void) static void ContestAICmd_get_move_excitement(void) { - eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]); + eContestAI.scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]); gAIScriptPtr += 1; } -static void ContestAICmd_unk_23(void) +static void ContestAICmd_if_move_excitement_less_than(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult < (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult < (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_24(void) +static void ContestAICmd_if_move_excitement_greater_than(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult > (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult > (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_25(void) +static void ContestAICmd_if_move_excitement_eq(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult == (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult == (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_26(void) +static void ContestAICmd_if_move_excitement_not_eq(void) { ContestAICmd_get_move_excitement(); - if (eContestAI->scriptResult != (s8)gAIScriptPtr[0]) + if (eContestAI.scriptResult != (s8)gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -748,27 +751,27 @@ static void ContestAICmd_unk_26(void) static void ContestAICmd_get_move_effect(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestMoves[move].effect; + eContestAI.scriptResult = gContestMoves[move].effect; gAIScriptPtr += 1; } -static void ContestAICmd_unk_28(void) +static void ContestAICmd_if_move_effect_eq(void) { ContestAICmd_get_move_effect(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_29(void) +static void ContestAICmd_if_move_effect_not_eq(void) { ContestAICmd_get_move_effect(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -776,58 +779,58 @@ static void ContestAICmd_unk_29(void) static void ContestAICmd_get_move_effect_type(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].effectType; gAIScriptPtr += 1; } -static void ContestAICmd_unk_2B(void) +static void ContestAICmd_if_move_effect_type_eq(void) { ContestAICmd_get_move_effect_type(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_2C(void) +static void ContestAICmd_if_move_effect_type_not_eq(void) { ContestAICmd_get_move_effect_type(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_check_move_has_highest_appeal(void) +static void ContestAICmd_check_most_appealing_move(void) { int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; u8 appeal = gContestEffects[gContestMoves[move].effect].appeal; for (i = 0; i < MAX_MON_MOVES; i++) { - u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + u16 newMove = gContestMons[eContestAI.contestantId].moves[i]; if (newMove != 0 && appeal < gContestEffects[gContestMoves[newMove].effect].appeal) break; } if (i == MAX_MON_MOVES) - eContestAI->scriptResult = TRUE; + eContestAI.scriptResult = TRUE; else - eContestAI->scriptResult = FALSE; + eContestAI.scriptResult = FALSE; gAIScriptPtr += 1; } -static void ContestAICmd_unk_2E(void) +static void ContestAICmd_if_most_appealing_move(void) { - ContestAICmd_check_move_has_highest_appeal(); + ContestAICmd_check_most_appealing_move(); - if (eContestAI->scriptResult != FALSE) + if (eContestAI.scriptResult != FALSE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -836,20 +839,20 @@ static void ContestAICmd_unk_2E(void) static void ContestAICmd_unk_2F(void) { int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; u8 jam = gContestEffects[gContestMoves[move].effect].jam; for (i = 0; i < MAX_MON_MOVES; i++) { - u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + u16 newMove = gContestMons[eContestAI.contestantId].moves[i]; if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam) break; } if (i == MAX_MON_MOVES) - eContestAI->scriptResult = TRUE; + eContestAI.scriptResult = TRUE; else - eContestAI->scriptResult = FALSE; + eContestAI.scriptResult = FALSE; gAIScriptPtr += 1; } @@ -858,7 +861,7 @@ static void ContestAICmd_unk_30(void) { ContestAICmd_unk_2F(); - if (eContestAI->scriptResult != FALSE) + if (eContestAI.scriptResult != FALSE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -866,9 +869,9 @@ static void ContestAICmd_unk_30(void) static void ContestAICmd_unk_31(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; gAIScriptPtr += 1; } @@ -876,7 +879,7 @@ static void ContestAICmd_unk_32(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -886,7 +889,7 @@ static void ContestAICmd_unk_33(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -896,7 +899,7 @@ static void ContestAICmd_unk_34(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -906,7 +909,7 @@ static void ContestAICmd_unk_35(void) { ContestAICmd_unk_31(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -914,9 +917,9 @@ static void ContestAICmd_unk_35(void) static void ContestAICmd_unk_36(void) { - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; gAIScriptPtr += 1; } @@ -924,7 +927,7 @@ static void ContestAICmd_unk_37(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -934,7 +937,7 @@ static void ContestAICmd_unk_38(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -944,7 +947,7 @@ static void ContestAICmd_unk_39(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -954,7 +957,7 @@ static void ContestAICmd_unk_3A(void) { ContestAICmd_unk_36(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -963,52 +966,52 @@ static void ContestAICmd_unk_3A(void) static void ContestAICmd_get_move_used_count(void) { s16 result; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - if (move != sContestantStatus[eContestAI->contestantId].prevMove) + if (move != eContestantStatus[eContestAI.contestantId].prevMove) result = 0; // move is unique and not reused. else - result = sContestantStatus[eContestAI->contestantId].moveRepeatCount + 1; + result = eContestantStatus[eContestAI.contestantId].moveRepeatCount + 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_3C(void) +static void ContestAICmd_if_most_used_count_less_than(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_3D(void) +static void ContestAICmd_if_most_used_count_more_than(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_3E(void) +static void ContestAICmd_if_most_used_count_eq(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_3F(void) +static void ContestAICmd_if_most_used_count_not_eq(void) { ContestAICmd_get_move_used_count(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1018,13 +1021,13 @@ static void ContestAICmd_check_combo_starter(void) { u8 result = 0; int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gContestMons[eContestAI->contestantId].moves[i]) + if (gContestMons[eContestAI.contestantId].moves[i]) { - result = AreMovesContestCombo(move, gContestMons[eContestAI->contestantId].moves[i]); + result = AreMovesContestCombo(move, gContestMons[eContestAI.contestantId].moves[i]); if (result) { result = 1; @@ -1036,25 +1039,25 @@ static void ContestAICmd_check_combo_starter(void) if (result) result = 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_41(void) +static void ContestAICmd_if_combo_starter(void) { ContestAICmd_check_combo_starter(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_42(void) +static void ContestAICmd_if_not_combo_starter(void) { ContestAICmd_check_combo_starter(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1064,13 +1067,13 @@ static void ContestAICmd_check_combo_finisher(void) { u8 result = 0; int i; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gContestMons[eContestAI->contestantId].moves[i]) + if (gContestMons[eContestAI.contestantId].moves[i]) { - result = AreMovesContestCombo(gContestMons[eContestAI->contestantId].moves[i], move); + result = AreMovesContestCombo(gContestMons[eContestAI.contestantId].moves[i], move); if (result) { result = 1; @@ -1082,25 +1085,25 @@ static void ContestAICmd_check_combo_finisher(void) if (result) result = 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_44(void) +static void ContestAICmd_if_combo_finisher(void) { ContestAICmd_check_combo_finisher(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_45(void) +static void ContestAICmd_if_not_combo_finisher(void) { ContestAICmd_check_combo_finisher(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1109,33 +1112,33 @@ static void ContestAICmd_unk_45(void) static void ContestAICmd_check_would_finish_combo(void) { u8 result = 0; - u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]; - if (sContestantStatus[eContestAI->contestantId].prevMove) - result = AreMovesContestCombo(sContestantStatus[eContestAI->contestantId].prevMove, move); + if (eContestantStatus[eContestAI.contestantId].prevMove) + result = AreMovesContestCombo(eContestantStatus[eContestAI.contestantId].prevMove, move); if (result) result = 1; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_47(void) +static void ContestAICmd_if_would_finish_combo(void) { ContestAICmd_check_would_finish_combo(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_48(void) +static void ContestAICmd_if_would_not_finish_combo(void) { ContestAICmd_check_would_finish_combo(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1145,45 +1148,45 @@ static void ContestAICmd_get_condition(void) { int var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].condition / 10; + eContestAI.scriptResult = eContestantStatus[var].condition / 10; gAIScriptPtr += 2; } -static void ContestAICmd_unk_4A(void) +static void ContestAICmd_if_condition_less_than(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_4B(void) +static void ContestAICmd_if_condition_more_than(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_4C(void) +static void ContestAICmd_if_condition_eq(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_4D(void) +static void ContestAICmd_if_condition_not_eq(void) { ContestAICmd_get_condition(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1195,47 +1198,47 @@ static void ContestAICmd_get_used_combo_starter(void) u8 var = sub_81563B0(gAIScriptPtr[1]); if (sub_80DE1E8(var)) - result = gContestMoves[sContestantStatus[var].prevMove].comboStarterId ? 1 : 0; + result = gContestMoves[eContestantStatus[var].prevMove].comboStarterId ? 1 : 0; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 2; } -static void ContestAICmd_unk_4F(void) +static void ContestAICmd_if_used_combo_starter_less_than(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_50(void) +static void ContestAICmd_if_used_combo_starter_more_than(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_51(void) +static void ContestAICmd_if_used_combo_starter_eq(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -static void ContestAICmd_unk_52(void) +static void ContestAICmd_if_used_combo_starter_not_eq(void) { ContestAICmd_get_used_combo_starter(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1244,28 +1247,28 @@ static void ContestAICmd_unk_52(void) static void ContestAICmd_check_can_participate(void) { if (Contest_IsMonsTurnDisabled(sub_81563B0(gAIScriptPtr[1]))) - eContestAI->scriptResult = FALSE; + eContestAI.scriptResult = FALSE; else - eContestAI->scriptResult = TRUE; + eContestAI.scriptResult = TRUE; gAIScriptPtr += 2; } -static void ContestAICmd_unk_54(void) +static void ContestAICmd_if_can_participate(void) { ContestAICmd_check_can_participate(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_55(void) +static void ContestAICmd_if_cannot_participate(void) { ContestAICmd_check_can_participate(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1275,7 +1278,7 @@ static void ContestAICmd_get_val_812A188(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].unk15_3; + eContestAI.scriptResult = eContestantStatus[var].unk15_3; gAIScriptPtr += 2; } @@ -1283,17 +1286,17 @@ static void ContestAICmd_unk_57(void) { ContestAICmd_get_val_812A188(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_58(void) +static void ContestAICmd_contest_58(void) { ContestAICmd_get_val_812A188(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1303,7 +1306,7 @@ static void ContestAICmd_unk_59(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->contestantId].unk4; + eContestAI.scriptResult = eContestantStatus[var].pointTotal - eContestantStatus[eContestAI.contestantId].pointTotal; gAIScriptPtr += 2; } @@ -1311,7 +1314,7 @@ static void ContestAICmd_unk_5A(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult < 0) + if (eContestAI.scriptResult < 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1321,7 +1324,7 @@ static void ContestAICmd_unk_5B(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult > 0) + if (eContestAI.scriptResult > 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1331,7 +1334,7 @@ static void ContestAICmd_unk_5C(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1341,7 +1344,7 @@ static void ContestAICmd_unk_5D(void) { ContestAICmd_unk_59(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1351,7 +1354,7 @@ static void ContestAICmd_unk_5E(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->contestantId]; + eContestAI.scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI.contestantId]; gAIScriptPtr += 2; } @@ -1359,7 +1362,7 @@ static void ContestAICmd_unk_5F(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult < 0) + if (eContestAI.scriptResult < 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1369,7 +1372,7 @@ static void ContestAICmd_unk_60(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult > 0) + if (eContestAI.scriptResult > 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1379,7 +1382,7 @@ static void ContestAICmd_unk_61(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1389,7 +1392,7 @@ static void ContestAICmd_unk_62(void) { ContestAICmd_unk_5E(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1399,9 +1402,9 @@ static void ContestAICmd_unk_63(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); u8 var2 = gAIScriptPtr[2]; - u16 move = sContest.unk19220[var2][var]; + u16 move = eContest.moveHistory[var2][var]; - eContestAI->scriptResult = gContestMoves[move].effect; + eContestAI.scriptResult = gContestMoves[move].effect; gAIScriptPtr += 3; } @@ -1409,7 +1412,7 @@ static void ContestAICmd_unk_64(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1419,7 +1422,7 @@ static void ContestAICmd_unk_65(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1429,7 +1432,7 @@ static void ContestAICmd_unk_66(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1439,7 +1442,7 @@ static void ContestAICmd_unk_67(void) { ContestAICmd_unk_63(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1449,9 +1452,9 @@ static void ContestAICmd_unk_68(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); u8 var2 = gAIScriptPtr[2]; - s8 result = sContest.unk19248[var2][var]; + s8 result = eContest.excitementHistory[var2][var]; - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 3; } @@ -1459,7 +1462,7 @@ static void ContestAICmd_unk_69(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult < gAIScriptPtr[0]) + if (eContestAI.scriptResult < gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1469,7 +1472,7 @@ static void ContestAICmd_unk_6A(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult > gAIScriptPtr[0]) + if (eContestAI.scriptResult > gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1479,7 +1482,7 @@ static void ContestAICmd_unk_6B(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1489,7 +1492,7 @@ static void ContestAICmd_unk_6C(void) { ContestAICmd_unk_68(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1499,9 +1502,9 @@ static void ContestAICmd_unk_6D(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); u8 var2 = gAIScriptPtr[2]; - u16 move = sContest.unk19220[var2][var]; + u16 move = eContest.moveHistory[var2][var]; - eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].effectType; gAIScriptPtr += 3; } @@ -1509,7 +1512,7 @@ static void ContestAICmd_unk_6E(void) { ContestAICmd_unk_6D(); - if (eContestAI->scriptResult == gAIScriptPtr[0]) + if (eContestAI.scriptResult == gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1519,7 +1522,7 @@ static void ContestAICmd_unk_6F(void) { ContestAICmd_unk_6D(); - if (eContestAI->scriptResult != gAIScriptPtr[0]) + if (eContestAI.scriptResult != gAIScriptPtr[0]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1527,38 +1530,38 @@ static void ContestAICmd_unk_6F(void) static void ContestAICmd_unk_70(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] = eContestAI->scriptResult; + eContestAI.scriptArr[gAIScriptPtr[1]] = eContestAI.scriptResult; gAIScriptPtr += 2; } static void ContestAICmd_unk_71(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2); + eContestAI.scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2); gAIScriptPtr += 4; } static void ContestAICmd_unk_72(void) { // wtf? shouldn't T1_READ_16 work here? why the signed 8 load by gAIScriptPtr[2]? - eContestAI->scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8); + eContestAI.scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8); gAIScriptPtr += 4; } static void ContestAICmd_unk_73(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]]; gAIScriptPtr += 3; } static void ContestAICmd_unk_74(void) { - eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]]; gAIScriptPtr += 3; } static void ContestAICmd_unk_75(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1566,7 +1569,7 @@ static void ContestAICmd_unk_75(void) static void ContestAICmd_unk_76(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1574,7 +1577,7 @@ static void ContestAICmd_unk_76(void) static void ContestAICmd_unk_77(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1582,7 +1585,7 @@ static void ContestAICmd_unk_77(void) static void ContestAICmd_unk_78(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2)) + if (eContestAI.scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1590,7 +1593,7 @@ static void ContestAICmd_unk_78(void) static void ContestAICmd_unk_79(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] < (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] < (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -1598,7 +1601,7 @@ static void ContestAICmd_unk_79(void) static void ContestAICmd_unk_7A(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] > (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] > (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -1606,7 +1609,7 @@ static void ContestAICmd_unk_7A(void) static void ContestAICmd_unk_7B(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] == (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] == (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -1614,15 +1617,15 @@ static void ContestAICmd_unk_7B(void) static void ContestAICmd_unk_7C(void) { - if (eContestAI->scriptArr[gAIScriptPtr[1]] != (eContestAI->scriptArr[gAIScriptPtr[2]])) + if (eContestAI.scriptArr[gAIScriptPtr[1]] != (eContestAI.scriptArr[gAIScriptPtr[2]])) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } -static void ContestAICmd_unk_7D(void) +static void ContestAICmd_if_random(void) { - if ((Random() & 0xFF) < eContestAI->scriptArr[gAIScriptPtr[1]]) + if ((Random() & 0xFF) < eContestAI.scriptArr[gAIScriptPtr[1]]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1630,41 +1633,41 @@ static void ContestAICmd_unk_7D(void) static void ContestAICmd_unk_7E(void) { - if ((Random() & 0xFF) > eContestAI->scriptArr[gAIScriptPtr[1]]) + if ((Random() & 0xFF) > eContestAI.scriptArr[gAIScriptPtr[1]]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } // jump -static void ContestAICmd_unk_7F(void) +static void ContestAICmd_jump(void) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void ContestAICmd_unk_80(void) +static void ContestAICmd_call(void) { AIStackPushVar(gAIScriptPtr + 5); gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } -static void ContestAICmd_unk_81(void) +static void ContestAICmd_end(void) { if (!AIStackPop()) - eContestAI->aiAction |= 1; + eContestAI.aiAction |= 1; } static void AIStackPushVar(const u8 *ptr) { - eContestAI->stack[eContestAI->stackSize++] = ptr; + eContestAI.stack[eContestAI.stackSize++] = ptr; } static bool8 AIStackPop(void) { - if (eContestAI->stackSize != 0) + if (eContestAI.stackSize != 0) { - --eContestAI->stackSize; - gAIScriptPtr = eContestAI->stack[eContestAI->stackSize]; + --eContestAI.stackSize; + gAIScriptPtr = eContestAI.stack[eContestAI.stackSize]; return TRUE; } else @@ -1673,16 +1676,16 @@ static bool8 AIStackPop(void) } } -static void ContestAICmd_check_for_exciting_move(void) +static void ContestAICmd_check_user_has_exciting_move(void) { int result = 0; int i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gContestMons[eContestAI->contestantId].moves[i]) + if (gContestMons[eContestAI.contestantId].moves[i]) { - if (Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[i]) == 1) + if (Contest_GetMoveExcitement(gContestMons[eContestAI.contestantId].moves[i]) == 1) { result = 1; break; @@ -1690,25 +1693,25 @@ static void ContestAICmd_check_for_exciting_move(void) } } - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 1; } -static void ContestAICmd_unk_83(void) +static void ContestAICmd_if_user_has_exciting_move(void) { - ContestAICmd_check_for_exciting_move(); + ContestAICmd_check_user_has_exciting_move(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_84(void) +static void ContestAICmd_if_user_doesnt_have_exciting_move(void) { - ContestAICmd_check_for_exciting_move(); + ContestAICmd_check_user_has_exciting_move(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; @@ -1722,7 +1725,7 @@ static void ContestAICmd_unk_85(void) for (i = 0; i < MAX_MON_MOVES; i++) { - u16 move = gContestMons[eContestAI->contestantId].moves[i]; + u16 move = gContestMons[eContestAI.contestantId].moves[i]; if (move == arg) { result = 1; @@ -1730,7 +1733,7 @@ static void ContestAICmd_unk_85(void) } } - eContestAI->scriptResult = result; + eContestAI.scriptResult = result; gAIScriptPtr += 3; } @@ -1738,17 +1741,17 @@ static void ContestAICmd_unk_86(void) { ContestAICmd_unk_85(); - if (eContestAI->scriptResult != 0) + if (eContestAI.scriptResult != 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; } -static void ContestAICmd_unk_87(void) +static void ContestAICmd_if_effect_in_user_moveset(void) { ContestAICmd_unk_85(); - if (eContestAI->scriptResult == 0) + if (eContestAI.scriptResult == 0) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); else gAIScriptPtr += 4; diff --git a/src/contest_effect.c b/src/contest_effect.c index 760d74d69..d6b06c3ba 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -82,101 +82,101 @@ static void ContestEffect_HighlyAppealing(void) // After this move, the user is more easily startled. static void ContestEffect_UserMoreEasilyStartled(void) { - sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MORE_CONSCIOUS); + eContestantStatus[eContestResources8.contestant].moreEasilyStartled = TRUE; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MORE_CONSCIOUS); } // Makes a great appeal, but allows no more to the end. static void ContestEffect_GreatAppealButNoMoreMoves(void) { - sContestantStatus[shared192D0.contestant].exploded = TRUE; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_APPEAL); + eContestantStatus[eContestResources8.contestant].exploded = TRUE; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NO_APPEAL); } // Can be used repeatedly without boring the JUDGE. static void ContestEffect_RepetitionNotBoring(void) { - sContestantStatus[shared192D0.contestant].usedRepeatableMove = TRUE; - sContestantStatus[shared192D0.contestant].disappointedRepeat = FALSE; - sContestantStatus[shared192D0.contestant].moveRepeatCount = 0; + eContestantStatus[eContestResources8.contestant].usedRepeatableMove = TRUE; + eContestantStatus[eContestResources8.contestant].disappointedRepeat = FALSE; + eContestantStatus[eContestResources8.contestant].moveRepeatCount = 0; } // Can avoid being startled by others once. static void ContestEffect_AvoidStartleOnce(void) { - sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN); + eContestantStatus[eContestResources8.contestant].jamSafetyCount = 1; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SETTLE_DOWN); } // Can avoid being startled by others. static void ContestEffect_AvoidStartle(void) { - sContestantStatus[shared192D0.contestant].immune = TRUE; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); + eContestantStatus[eContestResources8.contestant].immune = TRUE; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); } // Can avoid being startled by others a little. static void ContestEffect_AvoidStartleSlightly(void) { - sContestantStatus[shared192D0.contestant].jamReduction = 20; - SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_LESS_AWARE); + eContestantStatus[eContestResources8.contestant].jamReduction = 20; + SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_LESS_AWARE); } // After this move, the user is less likely to be startled. static void ContestEffect_UserLessEasilyStartled(void) { - sContestantStatus[shared192D0.contestant].resistant = TRUE; - SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_STOPPED_CARING); + eContestantStatus[eContestResources8.contestant].resistant = TRUE; + SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_STOPPED_CARING); } -// Slightly startles the POKéMON in front. +// Slightly startles the POKéMON in front. static void ContestEffect_StartleFrontMon(void) { u8 idx = 0; - u8 a = shared192D0.contestant; + u8 a = eContestResources8.contestant; - if (shared192D0.turnOrder[a] != 0) { + if (eContestResources8.turnOrder[a] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[a] - 1 == eContestResources8.turnOrder[i]) break; } - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } // Slightly startles those that have made appeals. static void ContestEffect_StartlePrevMons(void) { u8 idx = 0; - u8 a = shared192D0.contestant; + u8 a = eContestResources8.contestant; - if (shared192D0.turnOrder[a] != 0) + if (eContestResources8.turnOrder[a] != 0) { int i, j; for (i = 0, j = 0; i < 4; i++) { - if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) - shared192D0.jamQueue[j++] = i; + if (eContestResources8.turnOrder[a] > eContestResources8.turnOrder[i]) + eContestResources8.jamQueue[j++] = i; } - shared192D0.jamQueue[j] = 0xFF; + eContestResources8.jamQueue[j] = 0xFF; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Startles the POKéMON that appealed before the user. +// Startles the POKéMON that appealed before the user. static void ContestEffect_StartlePrevMon2(void) { u8 rval = Random() % 10; @@ -189,16 +189,16 @@ static void ContestEffect_StartlePrevMon2(void) else jam = 60; - shared192D0.jam = jam; + eContestResources8.jam = jam; ContestEffect_StartleFrontMon(); } -// Startles all POKéMON that appealed before the user. +// Startles all POKéMON that appealed before the user. static void ContestEffect_StartlePrevMons2(void) { u8 numStartled = 0; - u8 contestant = shared192D0.contestant; - u8 turnOrder = shared192D0.turnOrder[contestant]; + u8 contestant = eContestResources8.contestant; + u8 turnOrder = eContestResources8.turnOrder[contestant]; if (turnOrder != 0) { @@ -206,12 +206,12 @@ static void ContestEffect_StartlePrevMons2(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i]) { u8 rval, jam; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; rval = Random() % 10; if (rval == 0) @@ -227,141 +227,141 @@ static void ContestEffect_StartlePrevMons2(void) else jam = 60; - shared192D0.jam = jam; + eContestResources8.jam = jam; if (WasAtLeastOneOpponentJammed()) numStartled++; } } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); if (numStartled == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } -// Shifts the JUDGE’s attention from others. +// Shifts the JUDGE's attention from others. static void ContestEffect_ShiftJudgeAttention(void) { bool32 hitAny = FALSE; - u8 contestant = shared192D0.contestant; + u8 contestant = eContestResources8.contestant; - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i] && - sContestantStatus[i].hasJudgesAttention && + if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i] && + eContestantStatus[i].hasJudgesAttention && CanUnnerveContestant(i)) { - sContestantStatus[i].hasJudgesAttention = FALSE; - sContestantStatus[i].judgesAttentionWasRemoved = TRUE; + eContestantStatus[i].hasJudgesAttention = FALSE; + eContestantStatus[i].judgesAttentionWasRemoved = TRUE; SetContestantEffectStringID(i, CONTEST_STRING_JUDGE_LOOK_AWAY2); hitAny = TRUE; } } } - SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); + SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); if (!hitAny) { - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } } -// Startles the POKéMON that has the JUDGE’s attention. +// Startles the POKéMON that has the JUDGE's attention. static void ContestEffect_StartleMonWithJudgesAttention(void) { u8 numStartled = 0; - u8 contestant = shared192D0.contestant; + u8 contestant = eContestResources8.contestant; - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i]) { - if (sContestantStatus[i].hasJudgesAttention) - shared192D0.jam = 50; + if (eContestantStatus[i].hasJudgesAttention) + eContestResources8.jam = 50; else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numStartled++; } } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); if (numStartled == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } // Jams the others, and misses one turn of appeals. static void ContestEffect_JamsOthersButMissOneTurn(void) { - sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; + eContestantStatus[eContestResources8.contestant].turnSkipped = TRUE; ContestEffect_StartlePrevMons(); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Startles POKéMON that made a same-type appeal. +// Startles POKéMON that made a same-type appeal. static void ContestEffect_StartleMonsSameTypeAppeal(void) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; + u16 move = eContestantStatus[eContestResources8.contestant].currMove; JamByMoveCategory(gContestMoves[move].contestCategory); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made COOL appeals. +// Badly startles POKéMON that made COOL appeals. static void ContestEffect_StartleMonsCoolAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_COOL); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made BEAUTY appeals. +// Badly startles POKéMON that made BEAUTY appeals. static void ContestEffect_StartleMonsBeautyAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made CUTE appeals. +// Badly startles POKéMON that made CUTE appeals. static void ContestEffect_StartleMonsCuteAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_CUTE); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made SMART appeals. +// Badly startles POKéMON that made SMART appeals. static void ContestEffect_StartleMonsSmartAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_SMART); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Badly startles POKéMON that made TOUGH appeals. +// Badly startles POKéMON that made TOUGH appeals. static void ContestEffect_StartleMonsToughAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_TOUGH); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -// Makes one POKéMON after the user nervous. +// Makes one POKéMON after the user nervous. static void ContestEffect_MakeFollowingMonNervous(void) { bool32 hitAny = FALSE; - if (shared192D0.turnOrder[shared192D0.contestant] != 3) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 3) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] + 1 == eContestResources8.turnOrder[i]) { if (CanUnnerveContestant(i)) { @@ -377,12 +377,12 @@ static void ContestEffect_MakeFollowingMonNervous(void) } } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); if (!hitAny) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } -// Makes all POKéMON after the user nervous. +// Makes all POKéMON after the user nervous. static void ContestEffect_MakeFollowingMonsNervous(void) { u8 numUnnerved = 0; @@ -396,8 +396,8 @@ static void ContestEffect_MakeFollowingMonsNervous(void) memset(contestantIds, 0xFF, ARRAY_COUNT(contestantIds)); for (i = 0, numAfter = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[i] && - !sContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) + if (eContestResources8.turnOrder[eContestResources8.contestant] < eContestResources8.turnOrder[i] && + !eContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) contestantIds[numAfter++] = i; } @@ -423,11 +423,11 @@ static void ContestEffect_MakeFollowingMonsNervous(void) } for (i = 0; i < 4; i++) { - if (sContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i)) - oddsMod[i] = gComboStarterLookupTable[gContestMoves[sContestantStatus[i].prevMove].comboStarterId] * 10; + if (eContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i)) + oddsMod[i] = gComboStarterLookupTable[gContestMoves[eContestantStatus[i].prevMove].comboStarterId] * 10; else oddsMod[i] = 0; - oddsMod[i] -= (sContestantStatus[i].condition / 10) * 10; + oddsMod[i] -= (eContestantStatus[i].condition / 10) * 10; } if (odds[0] != 0) { @@ -457,12 +457,12 @@ static void ContestEffect_MakeFollowingMonsNervous(void) SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_UNAFFECTED); numUnnerved++; } - shared192D0.unnervedPokes[contestantIds[i]] = 1; + eContestResources8.unnervedPokes[contestantIds[i]] = 1; } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_WAITING); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_UNNERVE_WAITING); if (numUnnerved == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } // Worsens the condition of those that made appeals. @@ -473,23 +473,23 @@ static void ContestEffect_WorsenConditionOfPrevMons(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i] && - sContestantStatus[i].condition > 0 && + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i] && + eContestantStatus[i].condition > 0 && CanUnnerveContestant(i)) { - sContestantStatus[i].condition = 0; - sContestantStatus[i].conditionMod = 2; + eContestantStatus[i].condition = 0; + eContestantStatus[i].conditionMod = 2; SetContestantEffectStringID(i, CONTEST_STRING_REGAINED_FORM); numHit++; } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_TAUNT_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_TAUNT_WELL); if (numHit == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_IGNORED); } -// Badly startles POKéMON in good condition. +// Badly startles POKéMON in good condition. static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) { u8 numHit = 0; @@ -497,42 +497,42 @@ static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) { - if (sContestantStatus[i].condition > 0) - shared192D0.jam = 40; + if (eContestantStatus[i].condition > 0) + eContestResources8.jam = 40; else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numHit++; } } - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_JAM_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_JAM_WELL); if (numHit == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_IGNORED); } // The appeal works great if performed first. static void ContestEffect_BetterIfFirst(void) { - if (gUnknown_02039F26[shared192D0.contestant] == 0) + if (gContestantTurnOrder[eContestResources8.contestant] == 0) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; - sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HUSTLE_STANDOUT); + u16 move = eContestantStatus[eContestResources8.contestant].currMove; + eContestantStatus[eContestResources8.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_HUSTLE_STANDOUT); } } // The appeal works great if performed last. static void ContestEffect_BetterIfLast(void) { - if (gUnknown_02039F26[shared192D0.contestant] == 3) + if (gContestantTurnOrder[eContestResources8.contestant] == 3) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; - sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); + u16 move = eContestantStatus[eContestResources8.contestant].currMove; + eContestantStatus[eContestResources8.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); } } @@ -544,22 +544,22 @@ static void ContestEffect_AppealAsGoodAsPrevOnes(void) for (i = 0, appealSum = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) - appealSum += sContestantStatus[i].appeal2; + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) + appealSum += eContestantStatus[i].appeal2; } if (appealSum < 0) appealSum = 0; - if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] == 0 || appealSum == 0) { - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_WELL); } else { - sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_BEFORE); + eContestantStatus[eContestResources8.contestant].appeal2 += appealSum / 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_BEFORE); } - sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); + eContestantStatus[eContestResources8.contestant].appeal2 = RoundTowardsZero(eContestantStatus[eContestResources8.contestant].appeal2); } // Makes the appeal as good as the one before it. @@ -567,45 +567,45 @@ static void ContestEffect_AppealAsGoodAsPrevOne(void) { s16 appeal = 0; - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) - appeal = sContestantStatus[i].appeal2; + if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i]) + appeal = eContestantStatus[i].appeal2; } } - if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] == 0 || appeal <= 0) { - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); } else { - sContestantStatus[shared192D0.contestant].appeal2 += appeal; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_PRECEDING); + eContestantStatus[eContestResources8.contestant].appeal2 += appeal; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_PRECEDING); } } // The appeal works better the later it is performed. static void ContestEffect_BetterWhenLater(void) { - u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant]; + u8 whichTurn = eContestResources8.turnOrder[eContestResources8.contestant]; if (whichTurn == 0) - sContestantStatus[shared192D0.contestant].appeal2 = 10; + eContestantStatus[eContestResources8.contestant].appeal2 = 10; else - sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn; + eContestantStatus[eContestResources8.contestant].appeal2 = 20 * whichTurn; if (whichTurn == 0) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); else if (whichTurn == 1) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); else if (whichTurn == 2) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); else - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); } -// The appeal’s quality varies depending on its timing. +// The appeal's quality varies depending on its timing. static void ContestEffect_QualityDependsOnTiming(void) { u8 rval = Random() % 10; @@ -614,31 +614,31 @@ static void ContestEffect_QualityDependsOnTiming(void) if (rval < 3) { appeal = 10; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); } else if (rval < 6) { appeal = 20; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); } else if (rval < 8) { appeal = 40; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); } else if (rval < 9) { appeal = 60; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_VERY_WELL); } else { appeal = 80; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); } - sContestantStatus[shared192D0.contestant].appeal2 = appeal; + eContestantStatus[eContestResources8.contestant].appeal2 = appeal; } static void ContestEffect_BetterIfSameType(void) { - s8 turnOrder = shared192D0.turnOrder[shared192D0.contestant]; + s8 turnOrder = eContestResources8.turnOrder[eContestResources8.contestant]; s8 i = turnOrder - 1, j; u16 move; @@ -649,10 +649,10 @@ static void ContestEffect_BetterIfSameType(void) { for (j = 0; j < 4; j++) { - if (shared192D0.turnOrder[j] == i) + if (eContestResources8.turnOrder[j] == i) break; } - if (sContestantStatus[j].noMoreTurns || sContestantStatus[j].nervous || sContestantStatus[j].numTurnsSkipped) + if (eContestantStatus[j].noMoreTurns || eContestantStatus[j].nervous || eContestantStatus[j].numTurnsSkipped) { if (--i < 0) return; @@ -663,29 +663,29 @@ static void ContestEffect_BetterIfSameType(void) } } - move = sContestantStatus[shared192D0.contestant].currMove; - if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[j].currMove].contestCategory) + move = eContestantStatus[eContestResources8.contestant].currMove; + if (gContestMoves[move].contestCategory == gContestMoves[eContestantStatus[j].currMove].contestCategory) { - sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); + eContestantStatus[eContestResources8.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SAME_TYPE_GOOD); } } // Works well if different in type than the one before. static void ContestEffect_BetterIfDiffType(void) { - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { - u16 move = sContestantStatus[shared192D0.contestant].currMove; + u16 move = eContestantStatus[eContestResources8.contestant].currMove; int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i] && - gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) + if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i] && + gContestMoves[move].contestCategory != gContestMoves[eContestantStatus[i].currMove].contestCategory) { - sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); + eContestantStatus[eContestResources8.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); break; } } @@ -695,52 +695,52 @@ static void ContestEffect_BetterIfDiffType(void) // Affected by how well the appeal in front goes. static void ContestEffect_AffectedByPrevAppeal(void) { - if (shared192D0.turnOrder[shared192D0.contestant] != 0) + if (eContestResources8.turnOrder[eContestResources8.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i]) { - if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2) + if (eContestantStatus[eContestResources8.contestant].appeal2 > eContestantStatus[i].appeal2) { - sContestantStatus[shared192D0.contestant].appeal2 *= 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); + eContestantStatus[eContestResources8.contestant].appeal2 *= 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); } - else if (sContestantStatus[shared192D0.contestant].appeal2 < sContestantStatus[i].appeal2) + else if (eContestantStatus[eContestResources8.contestant].appeal2 < eContestantStatus[i].appeal2) { - sContestantStatus[shared192D0.contestant].appeal2 = 0; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NOT_AS_WELL); + eContestantStatus[eContestResources8.contestant].appeal2 = 0; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NOT_AS_WELL); } } } } } -// Ups the user’s condition. Helps prevent nervousness. +// Ups the user's condition. Helps prevent nervousness. static void ContestEffect_ImproveConditionPreventNervousness(void) { - if (sContestantStatus[shared192D0.contestant].condition < 30) + if (eContestantStatus[eContestResources8.contestant].condition < 30) { - sContestantStatus[shared192D0.contestant].condition += 10; - sContestantStatus[shared192D0.contestant].conditionMod = 1; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE); + eContestantStatus[eContestResources8.contestant].condition += 10; + eContestantStatus[eContestResources8.contestant].conditionMod = 1; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_CONDITION_ROSE); } else { - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); } } -// The appeal works well if the user’s condition is good. +// The appeal works well if the user's condition is good. static void ContestEffect_BetterWithGoodCondition(void) { - sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE; - if (sContestantStatus[shared192D0.contestant].condition != 0) - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HOT_STATUS); + eContestantStatus[eContestResources8.contestant].appealTripleCondition = TRUE; + if (eContestantStatus[eContestResources8.contestant].condition != 0) + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_HOT_STATUS); else - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); } // The next appeal can be made earlier next turn. @@ -750,20 +750,20 @@ static void ContestEffect_NextAppealEarlier(void) s8 j; u8 turnOrder[4]; - if (sContest.turnNumber != 4) + if (eContest.turnNumber != 4) { for (i = 0; i < 4; i++) - turnOrder[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = eContestantStatus[i].nextTurnOrder; - turnOrder[shared192D0.contestant] = 0xFF; + turnOrder[eContestResources8.contestant] = 0xFF; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { - if (j != shared192D0.contestant && + if (j != eContestResources8.contestant && i == turnOrder[j] && - turnOrder[j] == sContestantStatus[j].nextTurnOrder) + turnOrder[j] == eContestantStatus[j].nextTurnOrder) { turnOrder[j]++; break; @@ -773,15 +773,15 @@ static void ContestEffect_NextAppealEarlier(void) break; } - turnOrder[shared192D0.contestant] = 0; - sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + turnOrder[eContestResources8.contestant] = 0; + eContestantStatus[eContestResources8.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = turnOrder[i]; + eContestantStatus[i].nextTurnOrder = turnOrder[i]; } - sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_UP_LINE); + eContestantStatus[eContestResources8.contestant].turnOrderModAction = 1; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MOVE_UP_LINE); } } @@ -792,20 +792,20 @@ static void ContestEffect_NextAppealLater(void) s8 j; u8 turnOrder[4]; - if (sContest.turnNumber != 4) + if (eContest.turnNumber != 4) { for (i = 0; i < 4; i++) - turnOrder[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = eContestantStatus[i].nextTurnOrder; - turnOrder[shared192D0.contestant] = 0xFF; + turnOrder[eContestResources8.contestant] = 0xFF; for (i = 3; i > -1; i--) { for (j = 0; j < 4; j++) { - if (j != shared192D0.contestant && + if (j != eContestResources8.contestant && i == turnOrder[j] && - turnOrder[j] == sContestantStatus[j].nextTurnOrder) + turnOrder[j] == eContestantStatus[j].nextTurnOrder) { turnOrder[j]--; break; @@ -815,19 +815,19 @@ static void ContestEffect_NextAppealLater(void) break; } - turnOrder[shared192D0.contestant] = 3; - sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + turnOrder[eContestResources8.contestant] = 3; + eContestantStatus[eContestResources8.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = turnOrder[i]; + eContestantStatus[i].nextTurnOrder = turnOrder[i]; } - sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_BACK_LINE); + eContestantStatus[eContestResources8.contestant].turnOrderModAction = 2; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MOVE_BACK_LINE); } } -// Makes the next turn’s order more easily scrambled. +// Makes the next turn's order more easily scrambled. static void ContestEffect_MakeScramblingTurnOrderEasier(void) { // dummied out? @@ -841,11 +841,11 @@ static void ContestEffect_ScrambleNextTurnOrder(void) u8 turnOrder[4]; u8 unselectedContestants[4]; - if (sContest.turnNumber != 4) + if (eContest.turnNumber != 4) { for (i = 0; i < 4; i++) { - turnOrder[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = eContestantStatus[i].nextTurnOrder; unselectedContestants[i] = i; } @@ -871,24 +871,24 @@ static void ContestEffect_ScrambleNextTurnOrder(void) for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = turnOrder[i]; - sContestantStatus[i].turnOrderMod = 2; + eContestantStatus[i].nextTurnOrder = turnOrder[i]; + eContestantStatus[i].turnOrderMod = 2; } - sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SCRAMBLE_ORDER); + eContestantStatus[eContestResources8.contestant].turnOrderModAction = 3; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SCRAMBLE_ORDER); } } // An appeal that excites the audience in any CONTEST. static void ContestEffect_ExciteAudienceInAnyContest(void) { - if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) + if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) { - sContestantStatus[shared192D0.contestant].overrideCategoryExcitementMod = TRUE; + eContestantStatus[eContestResources8.contestant].overrideCategoryExcitementMod = TRUE; } } -// Badly startles all POKéMON that made good appeals. +// Badly startles all POKéMON that made good appeals. static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) { int i; @@ -896,24 +896,24 @@ static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) { - if (sContestantStatus[i].appeal2 > 0) + if (eContestantStatus[i].appeal2 > 0) { - shared192D0.jam = sContestantStatus[i].appeal2 / 2; - shared192D0.jam = RoundUp(shared192D0.jam); + eContestResources8.jam = eContestantStatus[i].appeal2 / 2; + eContestResources8.jam = RoundUp(eContestResources8.jam); } else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numJammed++; } } if (numJammed == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } // The appeal works best the more the crowd is excited. @@ -921,42 +921,42 @@ static void ContestEffect_BetterWhenAudienceExcited(void) { s16 appeal; - if (sContest.applauseLevel == 0) + if (eContest.applauseLevel == 0) { appeal = 10; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); } - else if (sContest.applauseLevel == 1) + else if (eContest.applauseLevel == 1) { appeal = 20; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); } - else if (sContest.applauseLevel == 2) + else if (eContest.applauseLevel == 2) { appeal = 30; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); } - else if (sContest.applauseLevel == 3) + else if (eContest.applauseLevel == 3) { appeal = 50; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_VERY_WELL); } else { appeal = 60; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); } - sContestantStatus[shared192D0.contestant].appeal2 = appeal; + eContestantStatus[eContestResources8.contestant].appeal2 = appeal; } // Temporarily stops the crowd from growing excited. static void ContestEffect_DontExciteAudience(void) { - if (!shared19328.excitementFrozen) + if (!eContestResources10.excitementFrozen) { - shared19328.excitementFrozen = TRUE; - shared19328.excitementFreezer = shared192D0.contestant; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); + eContestResources10.excitementFrozen = TRUE; + eContestResources10.excitementFreezer = eContestResources8.contestant; + SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); } } @@ -967,38 +967,38 @@ static void JamByMoveCategory(u8 category) for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i]) { - if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory) - shared192D0.jam = 40; + if (category == gContestMoves[eContestantStatus[i].currMove].contestCategory) + eContestResources8.jam = 40; else - shared192D0.jam = 10; - shared192D0.jamQueue[0] = i; - shared192D0.jamQueue[1] = 0xFF; + eContestResources8.jam = 10; + eContestResources8.jamQueue[0] = i; + eContestResources8.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) numJammed++; } } if (numJammed == 0) - SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2); } static bool8 CanUnnerveContestant(u8 i) { - shared192D0.unnervedPokes[i] = 1; - if (sContestantStatus[i].immune) + eContestResources8.unnervedPokes[i] = 1; + if (eContestantStatus[i].immune) { SetContestantEffectStringID(i, CONTEST_STRING_AVOID_SEEING); return FALSE; } - else if (sContestantStatus[i].jamSafetyCount != 0) + else if (eContestantStatus[i].jamSafetyCount != 0) { - sContestantStatus[i].jamSafetyCount--; + eContestantStatus[i].jamSafetyCount--; SetContestantEffectStringID(i, CONTEST_STRING_AVERT_GAZE); return FALSE; } - else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0) + else if (!eContestantStatus[i].noMoreTurns && eContestantStatus[i].numTurnsSkipped == 0) { return TRUE; } @@ -1013,32 +1013,32 @@ static bool8 WasAtLeastOneOpponentJammed(void) s16 jamBuffer[4] = {0}; int i; - for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) + for (i = 0; eContestResources8.jamQueue[i] != 0xFF; i++) { - u8 contestant = shared192D0.jamQueue[i]; + u8 contestant = eContestResources8.jamQueue[i]; if (CanUnnerveContestant(contestant)) { - shared192D0.jam2 = shared192D0.jam; - if (sContestantStatus[contestant].moreEasilyStartled) - shared192D0.jam2 *= 2; - if (sContestantStatus[contestant].resistant) + eContestResources8.jam2 = eContestResources8.jam; + if (eContestantStatus[contestant].moreEasilyStartled) + eContestResources8.jam2 *= 2; + if (eContestantStatus[contestant].resistant) { - shared192D0.jam2 = 10; + eContestResources8.jam2 = 10; SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED); } else { - shared192D0.jam2 -= sContestantStatus[contestant].jamReduction; - if (shared192D0.jam2 <= 0) + eContestResources8.jam2 -= eContestantStatus[contestant].jamReduction; + if (eContestResources8.jam2 <= 0) { - shared192D0.jam2 = 0; + eContestResources8.jam2 = 0; SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); } else { - JamContestant(contestant, shared192D0.jam2); - SetStartledString(contestant, shared192D0.jam2); - jamBuffer[contestant] = shared192D0.jam2; + JamContestant(contestant, eContestResources8.jam2); + SetStartledString(contestant, eContestResources8.jam2); + jamBuffer[contestant] = eContestResources8.jam2; } } } @@ -1054,8 +1054,8 @@ static bool8 WasAtLeastOneOpponentJammed(void) static void JamContestant(u8 i, u8 jam) { - sContestantStatus[i].appeal2 -= jam; - sContestantStatus[i].jam += jam; + eContestantStatus[i].appeal2 -= jam; + eContestantStatus[i].jam += jam; } static s16 RoundTowardsZero(s16 score) diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index 59f41d72a..bae7859b5 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -6,6 +6,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_link_80FC4F4.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" @@ -86,7 +87,6 @@ struct ContestLink80F57C4 EWRAM_DATA struct ContestLink80F57C4 *gUnknown_0203A034 = NULL; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct BgTemplate gUnknown_0858D888[4]; extern const struct WindowTemplate gUnknown_0858D898[]; extern const struct CompressedSpriteSheet gUnknown_0858D878[]; @@ -121,7 +121,7 @@ static void sub_80F5F30(u8); static void sub_80F5F74(u8); static void sub_80F7144(void); static void sub_80F68F0(u8); -s16 sub_80F6B78(const u8 *, u8); +s32 sub_80F6B78(const u8 *, u8); static void sub_80F6E9C(s16, u16, u16, u16); static void sub_80F6058(u8); static void sub_80F7A80(u8, u8); @@ -309,7 +309,7 @@ void sub_80F5B00(void) gBattle_WIN1V = 0x80A0; CreateTask(sub_80F68B4, 20); sub_80F7880(); - if (gIsLinkContest & 0x2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) gPaletteFade.bufferTransferDisabled = 1; else PlayBGM(MUS_CON_K); @@ -351,12 +351,12 @@ static void sub_80F5CE4(u8 taskId) { u16 var; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { switch (gTasks[taskId].data[0]) { case 0: - sub_80DBED4(); + SaveLinkContestResults(); if (gContestFinalStandings[gContestPlayerMonIndex] == 0) { IncrementGameStat(GAME_STAT_WON_LINK_CONTEST); @@ -381,7 +381,7 @@ static void sub_80F5CE4(u8 taskId) break; case 1: gTasks[taskId].data[0]++; - if (!(gIsLinkContest & 0x2)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) gTasks[taskId].data[0] = 100; break; case 2: @@ -406,7 +406,7 @@ static void sub_80F5CE4(u8 taskId) if (!gPaletteFade.active) { gTasks[taskId].data[0] = 0; - if (gIsLinkContest & 0x1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { sub_80F707C(gText_CommunicationStandby); gTasks[taskId].func = sub_80F5ED8; @@ -742,7 +742,7 @@ static void sub_80F66B4(u8 taskId) if (gMain.newKeys & A_BUTTON) { - if (!(gIsLinkContest & 0x1)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) { for (i = 0; i < 4; i++) { @@ -758,7 +758,7 @@ static void sub_80F66B4(u8 taskId) static void sub_80F671C(u8 taskId) { - if (gIsLinkContest & 0x1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { if (!gTasks[taskId].data[10]) { @@ -777,7 +777,7 @@ static void sub_80F677C(u8 taskId) { if (!gReceivedRemoteLinkPlayers) { - if (gIsLinkContest & 0x2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) DestroyWirelessStatusIndicatorSprite(); sub_80F7144(); @@ -787,7 +787,7 @@ static void sub_80F677C(u8 taskId) static void sub_80F67C4(u8 taskId) { - if (!(gIsLinkContest & 0x1)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) BravoTrainerPokemonProfile_BeforeInterview2(gContestFinalStandings[gContestPlayerMonIndex]); BeginHardwarePaletteFade(0xFF, 0, 0, 16, 0); @@ -907,9 +907,9 @@ static void sub_80F6AE8(void) u16 sheet; u8 spriteId; - if (gIsLinkContest & 0x2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(8, 8); gSprites[gWirelessStatusIndicatorSpriteId].subpriority = 1; sheet = LoadSpriteSheet(&gUnknown_0858D8E0); @@ -919,39 +919,76 @@ static void sub_80F6AE8(void) } } -// s16 sub_80F6B78(const u8 *text, u8 spriteId) -// { -// int i; -// int origWidth, strWidth; -// const u8 *r8; -// u8 sp10[0x10]; -// struct WindowTemplate windowTemplate; -// int spC; -// u8 *windowTileData; -// u8 windowId; - -// memset(windowTemplate, 0, sizeof(*windowTemplate)); -// windowTemplate.width = 30; -// windowTemplate.height = 2; -// windowId = AddWindow(&windowTemplate); -// FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); -// origWidth = GetStringWidth(1, text, 0) + 9; -// strWidth = origWidth; -// if (strWidth < 0) -// strWidth += 7; - -// strWidth >>= 3; -// if (strWidth > 30) -// strWidth = 30; - -// AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, gUnknown_0858D8E8, -1, text); -// windowTileData = (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA); -// r8 = gUnknown_0858D6D0; -// // .... -// } +// Functionally equivalent, the same except compiler generated variables from +// src are placed on different stack positions. + +#ifdef NONMATCHING +s32 sub_80F6B78(const u8 *text, u8 spriteId) +{ + u8 *windowTilesPtr; + u16 windowId; + int origWidth; + struct WindowTemplate windowTemplate; + int strWidth; + u8 *spriteTilePtrs[4]; + u8 *dst; + int i; + struct Sprite *sprite; + const u8 *src; // The culprit. + + memset(&windowTemplate, 0, sizeof(windowTemplate)); + windowTemplate.width = 30; + windowTemplate.height = 2; + windowId = AddWindow(&windowTemplate); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + + origWidth = GetStringWidth(1, text, 0); + strWidth = (origWidth + 9) / 8; + if (strWidth > 30) + strWidth = 30; + + AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, gUnknown_0858D8E8, -1, text); + windowTilesPtr = (u8 *)(GetWindowAttribute(windowId, WINDOW_TILE_DATA)); + src = (u8 *)(gUnknown_0858D6D0); + + sprite = &gSprites[spriteId]; + spriteTilePtrs[0] = (u8 *)(sprite->oam.tileNum * 32 + VRAM + 0x10000); + + for (i = 1; i < 4; i++) + spriteTilePtrs[i] = (void*)(gSprites[sprite->data[i - 1]].oam.tileNum * 32 + VRAM + 0x10000); + + for (i = 0; i < 4; i++) + CpuFill32(0, spriteTilePtrs[i], 0x400); + + dst = spriteTilePtrs[0]; + CpuCopy32(src, dst, 0x20); + CpuCopy32(src + 128, dst + 0x100, 0x20); + CpuCopy32(src + 128, dst + 0x200, 0x20); + CpuCopy32(src + 64, dst + 0x300, 0x20); + + for (i = 0; i < strWidth; i++) + { + dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32]; + CpuCopy32(src + 192, dst, 0x20); + CpuCopy32(windowTilesPtr, dst + 0x100, 0x20); + CpuCopy32(windowTilesPtr + 960, dst + 0x200, 0x20); + CpuCopy32(src + 224, dst + 0x300, 0x20); + windowTilesPtr += 0x20; + } + + dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32]; + CpuCopy32(src + 32, dst, 0x20); + CpuCopy32(src + 160, dst + 0x100, 0x20); + CpuCopy32(src + 160, dst + 0x200, 0x20); + CpuCopy32(src + 96, dst + 0x300, 0x20); + RemoveWindow(windowId); + + return (240 - (strWidth + 2) * 8) / 2; +} +#else NAKED -s16 sub_80F6B78(const u8 *text, u8 spriteId) +s32 sub_80F6B78(const u8 *text, u8 spriteId) { asm_unified("\n\ push {r4-r7,lr}\n\ @@ -1224,6 +1261,7 @@ _080F6D3E:\n\ bx r1\n\ .pool"); } +#endif // NONMATCHING static void sub_80F6DC0(void) { @@ -1392,7 +1430,7 @@ static void sub_80F71C8(void) x = 5; y = 1; - if (gIsLinkContest & 0x1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { CopyToBgTilemapBufferRect(2, gUnknown_08DC6498, 5, 1, 5, 2); x = 10; @@ -1630,7 +1668,7 @@ void sub_80F7768(struct Sprite *sprite) sprite->pos1.y++; if (gUnknown_0203A034->unk0->unk9) sprite->invisible = 1; - + if (sprite->pos1.x > 248 || sprite->pos1.y > 116) { DestroySprite(sprite); @@ -2091,7 +2129,7 @@ _080F7A70:\n\ // if (spC) // PlaySE(SE_PIN); - + // if (sp8) // PlaySE(SE_BAN); // } @@ -2358,38 +2396,32 @@ _080F7C96:\n\ bx r0"); } -#ifdef NONMATCHING void sub_80F7CA8(u8 taskId) { - register int r4 asm("r4"); - int r9; - u8 r6; - s16 r7; - s16 r12; int i; u8 var0; u16 tileNum; + bool32 r4 = FALSE; + bool32 endTask = FALSE; + u8 r6 = gTasks[taskId].data[0]; + s16 r7 = gTasks[taskId].data[1]; + s16 r12 = gTasks[taskId].data[2]; - r4 = 0; - r9 = 0; - r6 = gTasks[taskId].data[0]; - r7 = gTasks[taskId].data[1]; - r12 = gTasks[taskId].data[2]; if (r12) { if (gUnknown_0203A034->unk0->unkC[r6] <= 0) - r4 = 1; + r4 = TRUE; } else { if (gUnknown_0203A034->unk0->unkC[r6] > 87) - r4 = 1; + r4 = TRUE; } if (gUnknown_0203A034->unk0->unkC[r6] == r7) - r9 = 1; + endTask = TRUE; - if (!r9) + if (!endTask) { if (r4) gUnknown_0203A034->unk0->unkC[r6] = r7; @@ -2399,220 +2431,32 @@ void sub_80F7CA8(u8 taskId) gUnknown_0203A034->unk0->unkC[r6] = gUnknown_0203A034->unk0->unkC[r6] + 1; } - if (!r4 && !r9) + if (!r4 && !endTask) { for (i = 0; i < 11; i++) { if (gUnknown_0203A034->unk0->unkC[r6] >= (i + 1) * 8) - { var0 = 8; - } else if (gUnknown_0203A034->unk0->unkC[r6] >= i * 8) - { - int var2 = gUnknown_0203A034->unk0->unkC[r6]; - int var1 = var2; - if (var1 < 0) - var1 += 7; - - var0 = var2 - ((var1 >> 3) << 3); - } + var0 = gUnknown_0203A034->unk0->unkC[r6] % 8; else - { var0 = 0; - } if (var0 < 4) - tileNum = 0x504C; + tileNum = 0x504C + var0; else - tileNum = 0x5057; + tileNum = 0x5057 + var0; - FillBgTilemapBufferRect_Palette0(2, tileNum + var0, i + 7, r6 * 3 + 6, 1, 1); + FillBgTilemapBufferRect_Palette0(2, tileNum, i + 7, r6 * 3 + 6, 1, 1); } } - - if (r9) + + if (endTask) { gUnknown_0203A034->unk0->unk14--; DestroyTask(taskId); } } -#else -NAKED -void sub_80F7CA8(u8 taskId) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - movs r4, 0\n\ - mov r9, r4\n\ - ldr r1, =gTasks\n\ - lsls r0, 2\n\ - add r0, r8\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldrb r6, [r0, 0x8]\n\ - ldrh r7, [r0, 0xA]\n\ - ldrh r1, [r0, 0xC]\n\ - mov r12, r1\n\ - movs r2, 0xC\n\ - ldrsh r0, [r0, r2]\n\ - cmp r0, 0\n\ - beq _080F7CF8\n\ - ldr r2, =gUnknown_0203A034\n\ - ldr r0, [r2]\n\ - ldr r0, [r0]\n\ - lsls r1, r6, 1\n\ - adds r0, 0xC\n\ - adds r0, r1\n\ - movs r3, 0\n\ - ldrsh r0, [r0, r3]\n\ - adds r5, r1, 0\n\ - cmp r0, 0\n\ - bgt _080F7D10\n\ - b _080F7D0E\n\ - .pool\n\ -_080F7CF8:\n\ - ldr r2, =gUnknown_0203A034\n\ - ldr r0, [r2]\n\ - ldr r0, [r0]\n\ - lsls r1, r6, 1\n\ - adds r0, 0xC\n\ - adds r0, r1\n\ - movs r3, 0\n\ - ldrsh r0, [r0, r3]\n\ - adds r5, r1, 0\n\ - cmp r0, 0x57\n\ - ble _080F7D10\n\ -_080F7D0E:\n\ - movs r4, 0x1\n\ -_080F7D10:\n\ - ldr r0, [r2]\n\ - ldr r0, [r0]\n\ - adds r0, 0xC\n\ - adds r2, r0, r5\n\ - ldrh r3, [r2]\n\ - movs r0, 0\n\ - ldrsh r1, [r2, r0]\n\ - lsls r0, r7, 16\n\ - asrs r0, 16\n\ - cmp r1, r0\n\ - bne _080F7D2A\n\ - movs r1, 0x1\n\ - mov r9, r1\n\ -_080F7D2A:\n\ - mov r0, r9\n\ - cmp r0, 0\n\ - bne _080F7D4A\n\ - cmp r4, 0\n\ - beq _080F7D3C\n\ - strh r7, [r2]\n\ - b _080F7D4A\n\ - .pool\n\ -_080F7D3C:\n\ - mov r1, r12\n\ - cmp r1, 0\n\ - beq _080F7D46\n\ - subs r0, r3, 0x1\n\ - b _080F7D48\n\ -_080F7D46:\n\ - adds r0, r3, 0x1\n\ -_080F7D48:\n\ - strh r0, [r2]\n\ -_080F7D4A:\n\ - cmp r4, 0\n\ - bne _080F7DC4\n\ - mov r2, r9\n\ - cmp r2, 0\n\ - bne _080F7DCA\n\ - movs r2, 0\n\ -_080F7D56:\n\ - ldr r0, =gUnknown_0203A034\n\ - ldr r0, [r0]\n\ - ldr r0, [r0]\n\ - adds r0, 0xC\n\ - adds r0, r5\n\ - movs r1, 0\n\ - ldrsh r3, [r0, r1]\n\ - adds r0, r2, 0x1\n\ - lsls r1, r0, 3\n\ - adds r4, r0, 0\n\ - cmp r3, r1\n\ - blt _080F7D78\n\ - movs r0, 0x8\n\ - b _080F7D94\n\ - .pool\n\ -_080F7D78:\n\ - lsls r0, r2, 3\n\ - cmp r3, r0\n\ - blt _080F7D92\n\ - adds r0, r3, 0\n\ - cmp r3, 0\n\ - bge _080F7D86\n\ - adds r0, r3, 0x7\n\ -_080F7D86:\n\ - asrs r0, 3\n\ - lsls r0, 3\n\ - subs r0, r3, r0\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - b _080F7D94\n\ -_080F7D92:\n\ - movs r0, 0\n\ -_080F7D94:\n\ - cmp r0, 0x3\n\ - bhi _080F7DA0\n\ - ldr r3, =0x0000504c\n\ - b _080F7DA2\n\ - .pool\n\ -_080F7DA0:\n\ - ldr r3, =0x00005057\n\ -_080F7DA2:\n\ - adds r1, r0, r3\n\ - adds r2, 0x7\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r3, r5, r6\n\ - adds r3, 0x6\n\ - lsls r3, 24\n\ - movs r0, 0x1\n\ - str r0, [sp]\n\ - str r0, [sp, 0x4]\n\ - movs r0, 0x2\n\ - lsrs r3, 24\n\ - bl FillBgTilemapBufferRect_Palette0\n\ - adds r2, r4, 0\n\ - cmp r2, 0xA\n\ - ble _080F7D56\n\ -_080F7DC4:\n\ - mov r0, r9\n\ - cmp r0, 0\n\ - beq _080F7DDC\n\ -_080F7DCA:\n\ - ldr r0, =gUnknown_0203A034\n\ - ldr r0, [r0]\n\ - ldr r1, [r0]\n\ - ldrb r0, [r1, 0x14]\n\ - subs r0, 0x1\n\ - strb r0, [r1, 0x14]\n\ - mov r0, r8\n\ - bl DestroyTask\n\ -_080F7DDC:\n\ - add sp, 0x8\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING static void sub_80F7DF4(void) { @@ -2830,7 +2674,7 @@ void sub_80F8390(void) void sub_80F83D0(void) { - SetMainCallback2(sub_80D7B24); + SetMainCallback2(CB2_StartContest); } static void sub_80F83E0(u8 taskId) @@ -2886,7 +2730,7 @@ void sub_80F84C4(u8 taskId) static void sub_80F8508(u8 taskId) { - if (gIsLinkContest & 0x4) + if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER) { sub_80DA8C8(gContestMonPartyIndex); SetTaskFuncWithFollowupFunc(taskId, sub_80FC6BC, sub_80F8568); @@ -2913,10 +2757,9 @@ static void sub_80F85A0(u8 taskId) SetTaskFuncWithFollowupFunc(taskId, sub_80FC894, sub_80F85BC); } -#ifdef NONMATCHING static void sub_80F85BC(u8 taskId) { - u32 i; + u8 i; u8 sp0[4]; u8 sp4[4]; @@ -2926,9 +2769,10 @@ static void sub_80F85BC(u8 taskId) for (i = 0; i < gNumLinkContestPlayers; i++) sp0[i] = gTasks[taskId].data[i + 1]; - for (i = 0; i < gNumLinkContestPlayers; i++) + for (i = 0; i < gNumLinkContestPlayers;) { - if (sp0[0] != sp0[i + 1]) + i++; + if (i >= gNumLinkContestPlayers || sp0[0] != sp0[i]) break; } @@ -2939,137 +2783,15 @@ static void sub_80F85BC(u8 taskId) for (i = 0; i < gNumLinkContestPlayers; i++) sp4[i] = gTasks[taskId].data[i + 5]; - + gUnknown_02039F2B = sub_80F86E0(sp4); sub_80DB09C(gSpecialVar_ContestCategory); SetTaskFuncWithFollowupFunc(taskId, sub_80FCF40, sub_80F86B8); } -#else -NAKED -static void sub_80F85BC(u8 taskId) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - str r0, [sp, 0x4]\n\ - movs r3, 0\n\ - ldr r5, =gNumLinkContestPlayers\n\ - mov r12, r5\n\ - ldr r0, =gSpecialVar_0x8004\n\ - mov r9, r0\n\ - add r1, sp, 0x4\n\ - mov r8, r1\n\ - ldrb r0, [r5]\n\ - cmp r3, r0\n\ - bcs _080F8606\n\ - lsls r0, r6, 2\n\ - adds r0, r6\n\ - lsls r4, r0, 3\n\ - ldr r7, =gTasks + 0x8\n\ -_080F85EC:\n\ - mov r1, sp\n\ - adds r2, r1, r3\n\ - adds r1, r3, 0x1\n\ - lsls r0, r1, 1\n\ - adds r0, r4\n\ - adds r0, r7\n\ - ldrh r0, [r0]\n\ - strb r0, [r2]\n\ - lsls r1, 24\n\ - lsrs r3, r1, 24\n\ - ldrb r0, [r5]\n\ - cmp r3, r0\n\ - bcc _080F85EC\n\ -_080F8606:\n\ - movs r3, 0\n\ - mov r1, r12\n\ - ldrb r0, [r1]\n\ - cmp r3, r0\n\ - bcs _080F862A\n\ - adds r4, r0, 0\n\ - mov r2, sp\n\ -_080F8614:\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - cmp r3, r4\n\ - bcs _080F862A\n\ - mov r0, sp\n\ - adds r1, r0, r3\n\ - ldrb r0, [r2]\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - beq _080F8614\n\ -_080F862A:\n\ - mov r1, r12\n\ - ldrb r1, [r1]\n\ - cmp r3, r1\n\ - bne _080F8644\n\ - movs r0, 0\n\ - b _080F8646\n\ - .pool\n\ -_080F8644:\n\ - movs r0, 0x1\n\ -_080F8646:\n\ - mov r1, r9\n\ - strh r0, [r1]\n\ - movs r3, 0\n\ - mov r4, r12\n\ - ldrb r0, [r4]\n\ - cmp r3, r0\n\ - bcs _080F8678\n\ - mov r5, r8\n\ - lsls r0, r6, 2\n\ - adds r0, r6\n\ - lsls r2, r0, 3\n\ - ldr r7, =gTasks + 0x8\n\ -_080F865E:\n\ - adds r1, r5, r3\n\ - adds r0, r3, 0x5\n\ - lsls r0, 1\n\ - adds r0, r2\n\ - adds r0, r7\n\ - ldrh r0, [r0]\n\ - strb r0, [r1]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - ldrb r1, [r4]\n\ - cmp r3, r1\n\ - bcc _080F865E\n\ -_080F8678:\n\ - mov r0, r8\n\ - bl sub_80F86E0\n\ - ldr r1, =gUnknown_02039F2B\n\ - strb r0, [r1]\n\ - ldr r0, =gSpecialVar_ContestCategory\n\ - ldrb r0, [r0]\n\ - bl sub_80DB09C\n\ - ldr r1, =sub_80FCF40\n\ - ldr r2, =sub_80F86B8\n\ - adds r0, r6, 0\n\ - bl SetTaskFuncWithFollowupFunc\n\ - add sp, 0x8\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING static void sub_80F86B8(u8 taskId) { - sub_80DCE58(0); + SortContestants(FALSE); SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714); } diff --git a/src/contest_link_80FC4F4.c b/src/contest_link_80FC4F4.c index f582626f8..d6cfea638 100644 --- a/src/contest_link_80FC4F4.c +++ b/src/contest_link_80FC4F4.c @@ -72,22 +72,22 @@ static void sub_80FC5DC(u8 taskId) gContestPlayerMonIndex = GetMultiplayerId(); gNumLinkContestPlayers = GetLinkPlayerCount(); - gIsLinkContest = 1; + gLinkContestFlags = LINK_CONTEST_FLAG_IS_LINK; if (gWirelessCommType == 1) - gIsLinkContest = 3; + gLinkContestFlags = LINK_CONTEST_FLAG_IS_LINK | LINK_CONTEST_FLAG_IS_WIRELESS; for (i = 0; i < gNumLinkContestPlayers && (u32)(gLinkPlayers[i].version & 0xFF) - 1 > VERSION_RUBY - 1; i++) ; if (i < gNumLinkContestPlayers) - gIsLinkContest |= 0x4; + gLinkContestFlags |= LINK_CONTEST_FLAG_HAS_RS_PLAYER; SwitchTaskToFollowupFunc(taskId); } bool32 sub_80FC670(s16 *arg0) { - if (gIsLinkContest & 0x4) + if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER) return TRUE; switch (*arg0) @@ -269,7 +269,7 @@ void sub_80FC9F8(u8 taskId) case 0: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(&gContestResources->field_4[gContestPlayerMonIndex].currMove, sizeof(gContestResources->field_4[gContestPlayerMonIndex].currMove)) == TRUE) + if (sub_80FC4F4(&eContestantStatus[gContestPlayerMonIndex].currMove, sizeof(eContestantStatus[gContestPlayerMonIndex].currMove)) == TRUE) gTasks[taskId].data[0]++; } break; @@ -277,7 +277,7 @@ void sub_80FC9F8(u8 taskId) if (sub_80FC55C()) { for (i = 0; i < gNumLinkContestPlayers; i++) - gContestResources->field_4[i].currMove = gBlockRecvBuffer[i][0]; + eContestantStatus[i].currMove = gBlockRecvBuffer[i][0]; gTasks[taskId].data[0]++; } @@ -373,14 +373,14 @@ void sub_80FCC88(u8 taskId) case 0: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(gContestResources->field_4, 4 * sizeof(struct ContestantStatus)) == 1) + if (sub_80FC4F4(eContestantStatus, 4 * sizeof(struct ContestantStatus)) == 1) gTasks[taskId].data[0]++; } break; case 1: if (sub_80FC55C()) { - memcpy(gContestResources->field_4, gBlockRecvBuffer[gUnknown_02039F2B], 4 * sizeof(struct ContestantStatus)); + memcpy(eContestantStatus, gBlockRecvBuffer[gUnknown_02039F2B], 4 * sizeof(struct ContestantStatus)); gTasks[taskId].data[0]++; } break; @@ -425,14 +425,14 @@ void sub_80FCC88(u8 taskId) case 9: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1) + if (sub_80FC4F4(gContestantTurnOrder, sizeof(gContestantTurnOrder)) == 1) gTasks[taskId].data[0]++; } break; case 10: if (sub_80FC55C()) { - memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26)); + memcpy(gContestantTurnOrder, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestantTurnOrder)); gTasks[taskId].data[0]++; } break; @@ -528,14 +528,14 @@ void sub_80FCFD0(u8 taskId) case 0: if (IsLinkTaskFinished()) { - if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1) + if (sub_80FC4F4(gContestantTurnOrder, sizeof(gContestantTurnOrder)) == 1) gTasks[taskId].data[0]++; } break; case 1: if (sub_80FC55C()) { - memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26)); + memcpy(gContestantTurnOrder, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestantTurnOrder)); gTasks[taskId].data[0]++; } break; diff --git a/src/contest_link_81D9DE4.c b/src/contest_link_81D9DE4.c index 4b56c9c38..8060b6cdc 100644 --- a/src/contest_link_81D9DE4.c +++ b/src/contest_link_81D9DE4.c @@ -134,7 +134,7 @@ static void sub_81DA10C(u8 taskId) static void sub_81DA138(u8 taskId) { - sub_80DCE58(0); + SortContestants(FALSE); SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714); } diff --git a/src/contest_painting.c b/src/contest_painting.c index 87598f2bd..b43923c7b 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -1,11 +1,12 @@ #include "global.h" #include "alloc.h" #include "battle.h" +#include "battle_gfx_sfx_util.h" #include "bg.h" #include "contest.h" #include "contest_painting.h" #include "contest_painting_effects.h" -#include "battle_gfx_sfx_util.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "international_string_util.h" @@ -44,8 +45,6 @@ static void VBlankCB_ContestPainting(void); static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]); extern const u8 gUnknown_0827EA0C[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; extern const u8 gContestCoolness[]; extern const u8 gContestBeauty[]; extern const u8 gContestCuteness[]; diff --git a/src/data2b.c b/src/data.c index af76390a4..7aebd63ed 100644 --- a/src/data2b.c +++ b/src/data.c @@ -1,11 +1,17 @@ #include "global.h" -#include "data2.h" -#include "graphics.h" #include "alloc.h" +#include "battle.h" +#include "data.h" +#include "graphics.h" +#include "constants/items.h" +#include "constants/moves.h" #include "constants/species.h" +#include "constants/trainers.h" +#include "constants/battle_ai.h" const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal"); const u32 gUnknown_082FF1F8[] = INCBIN_U32("graphics/link/minigame_digits.4bpp.lz"); +// unused const u32 gUnknown_082FF2B8[] = INCBIN_U32("graphics/link/minigame_digits2.4bpp.lz"); const struct SpriteFrameImage gUnknown_082FF3A8[] = @@ -106,45 +112,45 @@ const struct SpriteFrameImage gTrainerBackPicTable_Steven[] = gTrainerBackPic_Steven + 0x1800, 0x0800, }; -const union AnimCmd gAnimCmd_General_Frame0[] = +static const union AnimCmd sAnim_GeneralFrame0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_General_Frame3[] = +static const union AnimCmd sAnim_GeneralFrame3[] = { ANIMCMD_FRAME(3, 0), ANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF548[] = +static const union AffineAnimCmd gUnknown_082FF548[] = { AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF558[] = +static const union AffineAnimCmd gUnknown_082FF558[] = { AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF568[] = +static const union AffineAnimCmd gUnknown_082FF568[] = { AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00), AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF580[] = +static const union AffineAnimCmd gUnknown_082FF580[] = { AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12), AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF598[] = +static const union AffineAnimCmd gUnknown_082FF598[] = { AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00), AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08), @@ -152,39 +158,39 @@ const union AffineAnimCmd gUnknown_082FF598[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_082FF5B8[] = +static const union AffineAnimCmd gUnknown_082FF5B8[] = { AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5C8[] = +static const union AffineAnimCmd gUnknown_082FF5C8[] = { AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5D8[] = +static const union AffineAnimCmd gUnknown_082FF5D8[] = { AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000), AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF5F0[] = +static const union AffineAnimCmd gUnknown_082FF5F0[] = { AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF600[] = +static const union AffineAnimCmd gUnknown_082FF600[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), AFFINEANIMCMD_END, }; -const union AffineAnimCmd * const gUnknown_082FF618[] = +const union AffineAnimCmd *const gUnknown_082FF618[] = { gUnknown_082FF548, gUnknown_082FF568, @@ -197,20 +203,20 @@ const union AffineAnimCmd * const gUnknown_082FF618[] = gUnknown_082FF5D8, }; -const union AffineAnimCmd gUnknown_082FF63C[] = +static const union AffineAnimCmd gUnknown_082FF63C[] = { AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF64C[] = +static const union AffineAnimCmd gUnknown_082FF64C[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF664[] = +static const union AffineAnimCmd gUnknown_082FF664[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14), AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14), @@ -218,13 +224,13 @@ const union AffineAnimCmd gUnknown_082FF664[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_082FF684[] = +static const union AffineAnimCmd gUnknown_082FF684[] = { AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e), AFFINEANIMCMD_END, }; -const union AffineAnimCmd * const gUnknown_082FF694[] = +const union AffineAnimCmd *const gUnknown_082FF694[] = { gUnknown_082FF548, gUnknown_082FF568, @@ -239,7 +245,7 @@ const union AffineAnimCmd * const gUnknown_082FF694[] = gUnknown_082FF684, }; -const union AffineAnimCmd * const gUnknown_082FF6C0[] = +const union AffineAnimCmd *const gUnknown_082FF6C0[] = { gUnknown_082FF558, gUnknown_082FF568, @@ -254,6 +260,47 @@ const union AffineAnimCmd * const gUnknown_082FF6C0[] = gUnknown_082FF684, }; +static const union AnimCmd gUnknown_082FF6EC[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF6F4[] = +{ + ANIMCMD_FRAME(1, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF6FC[] = +{ + ANIMCMD_FRAME(2, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_082FF704[] = +{ + ANIMCMD_FRAME(3, 0), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_082FF70C[] = +{ + gUnknown_082FF6EC, + gUnknown_082FF6F4, + gUnknown_082FF6FC, + gUnknown_082FF704, +}; + +#define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, 0x800, SPECIES_##species} +#define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species} +#define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG} + +#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic} +#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic} + +#define TRAINER_BACK_PAL(trainerPic, pal) [TRAINER_BACK_PIC_##trainerPic] = {pal, TRAINER_BACK_PIC_##trainerPic} + #include "data/pokemon_graphics/unknown_anims.h" #include "data/pokemon_graphics/front_pic_coordinates.h" #include "data/pokemon_graphics/still_front_pic_table.h" @@ -269,10 +316,11 @@ const union AffineAnimCmd * const gUnknown_082FF6C0[] = #include "data/trainer_graphics/back_pic_tables.h" #include "data/pokemon_graphics/enemy_mon_elevation.h" -#include "data/pokemon_graphics/front_anims.h" +#include "data/pokemon_graphics/front_pic_anims.h" #include "data/pokemon_graphics/front_pic_table.h" -const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c +// unused +const u32 gUnknown830AF4C[] = { 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000088, 0x00000888, 0x00000888, 0x00000886, @@ -385,3 +433,9 @@ const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, 0x00000888, }; + +#include "data/trainer_parties.h" +#include "data/text/trainer_class_names.h" +#include "data/trainers.h" +#include "data/text/species_names.h" +#include "data/text/move_names.h" diff --git a/src/data/.gitignore b/src/data/.gitignore new file mode 100755 index 000000000..eaf9e1f6d --- /dev/null +++ b/src/data/.gitignore @@ -0,0 +1 @@ +wild_encounters.h diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h index ef1fdba9f..010559e3b 100644 --- a/src/data/contest_opponents.h +++ b/src/data/contest_opponents.h @@ -183,7 +183,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("POOCHY"), .trainerName = _("JIMMY"), .trainerGfxId = EVENT_OBJ_GFX_BOY_1, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -212,7 +212,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MUSILLE"), .trainerName = _("EDITH"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -241,7 +241,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DUSTER"), .trainerName = _("EVAN"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -270,7 +270,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DOTS"), .trainerName = _("KELSEY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -299,7 +299,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TATAY"), .trainerName = _("MADISON"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -328,7 +328,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NINDA"), .trainerName = _("RAYMOND"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -357,7 +357,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SMISH"), .trainerName = _("GRANT"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -386,7 +386,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLEAL"), .trainerName = _("PAIGE"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -415,7 +415,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLOKTH"), .trainerName = _("ALEC"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -444,7 +444,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WHIRIS"), .trainerName = _("SYDNEY"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -473,7 +473,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MAHITA"), .trainerName = _("MORRIS"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x8010FFF, + .aiChecks = 0x8010FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -502,7 +502,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RONAR"), .trainerName = _("MARIAH"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x8008FFF, + .aiChecks = 0x8008FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -531,7 +531,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BATRO"), .trainerName = _("RUSSELL"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x90004FFF, + .aiChecks = 0x90004FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -560,7 +560,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GULIN"), .trainerName = _("MELANIE"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x40002FFF, + .aiChecks = 0x40002FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -589,7 +589,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RIKELEC"), .trainerName = _("CHANCE"), .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, - .flags = 0x80001FFF, + .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -618,7 +618,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BULBY"), .trainerName = _("AGATHA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -647,7 +647,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("FUTTERBE"), .trainerName = _("BEAU"), .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -676,7 +676,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PIDEOT"), .trainerName = _("KAY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -705,7 +705,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DIGLE"), .trainerName = _("CALE"), .trainerGfxId = EVENT_OBJ_GFX_HIKER, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -734,7 +734,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WAGIL"), .trainerName = _("CAITLIN"), .trainerGfxId = EVENT_OBJ_GFX_TUBER_F, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -763,7 +763,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TOTDIL"), .trainerName = _("COLBY"), .trainerGfxId = EVENT_OBJ_GFX_NINJA_BOY, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -792,7 +792,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BALEDY"), .trainerName = _("KYLIE"), .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -821,7 +821,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BIRDLY"), .trainerName = _("LIAM"), .trainerGfxId = EVENT_OBJ_GFX_MAN_5, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -850,7 +850,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TARVITAR"), .trainerName = _("MILO"), .trainerGfxId = EVENT_OBJ_GFX_MANIAC, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -879,7 +879,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RELIA"), .trainerName = _("KARINA"), .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, - .flags = 0x24000FFF, + .aiChecks = 0x24000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -908,7 +908,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DUODO"), .trainerName = _("BOBBY"), .trainerGfxId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -937,7 +937,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PINCHIN"), .trainerName = _("CLAIRE"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x81000FFF, + .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -966,7 +966,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NACAC"), .trainerName = _("WILLIE"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x80800FFF, + .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -995,7 +995,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SHRAND"), .trainerName = _("CASSIDY"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x10400FFF, + .aiChecks = 0x10400FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1024,7 +1024,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TOYBAL"), .trainerName = _("MORGAN"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x8200FFF, + .aiChecks = 0x8200FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1053,7 +1053,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CHAMCHAM"), .trainerName = _("SUMMER"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x10100FFF, + .aiChecks = 0x10100FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1082,7 +1082,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SPININ"), .trainerName = _("MILES"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x80080FFF, + .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1111,7 +1111,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SWABY"), .trainerName = _("AUDREY"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0xA0040FFF, + .aiChecks = 0xA0040FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1140,7 +1140,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("POINKER"), .trainerName = _("AVERY"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1169,7 +1169,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KECON"), .trainerName = _("ARIANA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x80010FFF, + .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1198,7 +1198,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GOLDEN"), .trainerName = _("ASHTON"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x80008FFF, + .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1227,7 +1227,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BOBOACH"), .trainerName = _("SANDRA"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x80004FFF, + .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1256,7 +1256,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CORPY"), .trainerName = _("CARSON"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x8002FFF, + .aiChecks = 0x8002FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1285,7 +1285,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TADO"), .trainerName = _("KATRINA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x8001FFF, + .aiChecks = 0x8001FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1314,7 +1314,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BROWLO"), .trainerName = _("LUKE"), .trainerGfxId = EVENT_OBJ_GFX_FAT_MAN, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1343,7 +1343,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("FETCHIN"), .trainerName = _("RAUL"), .trainerGfxId = EVENT_OBJ_GFX_MAN_5, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1372,7 +1372,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SEELEY"), .trainerName = _("JADA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1401,7 +1401,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DROWZIN"), .trainerName = _("ZEEK"), .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1430,7 +1430,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("HITEMON"), .trainerName = _("DIEGO"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1459,7 +1459,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BLISS"), .trainerName = _("ALIYAH"), .trainerGfxId = EVENT_OBJ_GFX_TEALA, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1488,7 +1488,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KIDLEK"), .trainerName = _("NATALIA"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1517,7 +1517,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SNUBBINS"), .trainerName = _("DEVIN"), .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1546,7 +1546,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DREAVIS"), .trainerName = _("TYLOR"), .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1575,7 +1575,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LAIRN"), .trainerName = _("RONNIE"), .trainerGfxId = EVENT_OBJ_GFX_HIKER, - .flags = 0x84000FFF, + .aiChecks = 0x84000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1604,7 +1604,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SHIFTY"), .trainerName = _("CLAUDIA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1633,7 +1633,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NINAS"), .trainerName = _("ELIAS"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x81000FFF, + .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1662,7 +1662,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WELOW"), .trainerName = _("JADE"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x80800FFF, + .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1691,7 +1691,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("YENA"), .trainerName = _("FRANCIS"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1720,7 +1720,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TIFLY"), .trainerName = _("ALISHA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x80200FFF, + .aiChecks = 0x80200FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1749,7 +1749,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KINGSEA"), .trainerName = _("SAUL"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x80100FFF, + .aiChecks = 0x80100FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1778,7 +1778,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CASTER"), .trainerName = _("FELICIA"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0x80080FFF, + .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -1807,7 +1807,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CHOKEM"), .trainerName = _("EMILIO"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x80040FFF, + .aiChecks = 0x80040FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -1836,7 +1836,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LOMBE"), .trainerName = _("KARLA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1865,7 +1865,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("VIPES"), .trainerName = _("DARRYL"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x80010FFF, + .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1894,7 +1894,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MERAIL"), .trainerName = _("SELENA"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, - .flags = 0x80008FFF, + .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1923,7 +1923,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KARPAG"), .trainerName = _("NOEL"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x80004FFF, + .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -1952,7 +1952,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LUNONE"), .trainerName = _("LACEY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x80002FFF, + .aiChecks = 0x80002FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -1981,7 +1981,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("ABSO"), .trainerName = _("CORBIN"), .trainerGfxId = EVENT_OBJ_GFX_MANIAC, - .flags = 0x80001FFF, + .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2010,7 +2010,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("EGGSOR"), .trainerName = _("GRACIE"), .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2039,7 +2039,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CUBIN"), .trainerName = _("COLTIN"), .trainerGfxId = EVENT_OBJ_GFX_MAN_4, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2068,7 +2068,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("HITMON"), .trainerName = _("ELLIE"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2097,7 +2097,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SURTLE"), .trainerName = _("MARCUS"), .trainerGfxId = EVENT_OBJ_GFX_SAILOR, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2126,7 +2126,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("KHANKAN"), .trainerName = _("KIARA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_3, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2155,7 +2155,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PINOC"), .trainerName = _("BRYCE"), .trainerGfxId = EVENT_OBJ_GFX_BUG_CATCHER, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2184,7 +2184,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DILTOT"), .trainerName = _("JAMIE"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2213,7 +2213,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DOOMOND"), .trainerName = _("JORGE"), .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2242,7 +2242,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MILKAN"), .trainerName = _("DEVON"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_M, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2271,7 +2271,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RADOS"), .trainerName = _("JUSTINA"), .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, - .flags = 0x84000FFF, + .aiChecks = 0x84000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2300,7 +2300,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LOUDERD"), .trainerName = _("RALPH"), .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2329,7 +2329,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SITTY"), .trainerName = _("ROSA"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, - .flags = 0x81000FFF, + .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2358,7 +2358,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLING"), .trainerName = _("KEATON"), .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, - .flags = 0x80800FFF, + .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2387,7 +2387,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("TARIA"), .trainerName = _("MAYRA"), .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2416,7 +2416,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LIRKI"), .trainerName = _("LAMAR"), .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, - .flags = 0x80200FFF, + .aiChecks = 0x80200FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2445,7 +2445,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("BLOSSOM"), .trainerName = _("AUBREY"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, - .flags = 0x80100FFF, + .aiChecks = 0x80100FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2474,7 +2474,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("EYESAB"), .trainerName = _("NIGEL"), .trainerGfxId = EVENT_OBJ_GFX_CAMPER, - .flags = 0x80080FFF, + .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2503,7 +2503,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("UTAN"), .trainerName = _("CAMILLE"), .trainerGfxId = EVENT_OBJ_GFX_LASS, - .flags = 0x80040FFF, + .aiChecks = 0x80040FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2532,7 +2532,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("PEDOS"), .trainerName = _("DEON"), .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, - .flags = 0x80020FFF, + .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2561,7 +2561,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("LUVIS"), .trainerName = _("JANELLE"), .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, - .flags = 0x80010FFF, + .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2590,7 +2590,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("HEROSS"), .trainerName = _("HEATH"), .trainerGfxId = EVENT_OBJ_GFX_MAN_3, - .flags = 0x80008FFF, + .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2619,7 +2619,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("RODLECT"), .trainerName = _("SASHA"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x80004FFF, + .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2648,7 +2648,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("CHUPY"), .trainerName = _("FRANKIE"), .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, - .flags = 0x80002FFF, + .aiChecks = 0x80002FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2677,7 +2677,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("WOBET"), .trainerName = _("HELEN"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, - .flags = 0x80001FFF, + .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2706,7 +2706,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GAREN"), .trainerName = _("CAMILE"), .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, - .flags = 0xC000FFF, + .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2735,7 +2735,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GONPOR"), .trainerName = _("MARTIN"), .trainerGfxId = EVENT_OBJ_GFX_SCIENTIST_1, - .flags = 0x82000FFF, + .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2764,7 +2764,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("DRITE"), .trainerName = _("SERGIO"), .trainerGfxId = EVENT_OBJ_GFX_BOY_1, - .flags = 0x21000FFF, + .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, @@ -2793,7 +2793,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("MEOWY"), .trainerName = _("KAILEY"), .trainerGfxId = EVENT_OBJ_GFX_TWIN, - .flags = 0x20800FFF, + .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2822,7 +2822,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("NYX"), .trainerName = _("PERLA"), .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, - .flags = 0x80400FFF, + .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = TRUE, @@ -2851,7 +2851,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("GEPITO"), .trainerName = _("CLARA"), .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, - .flags = 0x10200FFF, + .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2880,7 +2880,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SPEON"), .trainerName = _("JAKOB"), .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, - .flags = 0x20100FFF, + .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = TRUE, @@ -2909,7 +2909,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("SLOWGO"), .trainerName = _("TREY"), .trainerGfxId = EVENT_OBJ_GFX_SAILOR, - .flags = 0x8080FFF, + .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, .aiPool_Beauty = FALSE, @@ -2938,7 +2938,7 @@ const struct ContestPokemon gContestOpponents[] = .nickname = _("URSING"), .trainerName = _("LANE"), .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, - .flags = 0x40040FFF, + .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, .aiPool_Beauty = FALSE, diff --git a/src/data/decoration/header.h b/src/data/decoration/header.h index a909bd9fd..55458c7a3 100644 --- a/src/data/decoration/header.h +++ b/src/data/decoration/header.h @@ -686,7 +686,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PICHU_DOLL, _("PICHU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -695,7 +695,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PIKACHU_DOLL, _("PIKACHU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -704,7 +704,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MARILL_DOLL, _("MARILL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -713,7 +713,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TOGEPI_DOLL, _("TOGEPI DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -722,7 +722,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CYNDAQUIL_DOLL, _("CYNDAQUIL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -731,7 +731,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CHIKORITA_DOLL, _("CHIKORITA DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -740,7 +740,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TOTODILE_DOLL, _("TOTODILE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -749,7 +749,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_JIGGLYPUFF_DOLL, _("JIGGLYPUFF DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -758,7 +758,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MEOWTH_DOLL, _("MEOWTH DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -767,7 +767,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CLEFAIRY_DOLL, _("CLEFAIRY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -776,7 +776,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DITTO_DOLL, _("DITTO DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -785,7 +785,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SMOOCHUM_DOLL, _("SMOOCHUM DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -794,7 +794,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TREECKO_DOLL, _("TREECKO DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -803,7 +803,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_TORCHIC_DOLL, _("TORCHIC DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -812,7 +812,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_MUDKIP_DOLL, _("MUDKIP DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -821,7 +821,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DUSKULL_DOLL, _("DUSKULL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -830,7 +830,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WYNAUT_DOLL, _("WYNAUT DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -839,7 +839,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BALTOY_DOLL, _("BALTOY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -848,7 +848,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_KECLEON_DOLL, _("KECLEON DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -857,7 +857,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_AZURILL_DOLL, _("AZURILL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -866,7 +866,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SKITTY_DOLL, _("SKITTY DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -875,7 +875,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SWABLU_DOLL, _("SWABLU DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -884,7 +884,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_GULPIN_DOLL, _("GULPIN DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -893,7 +893,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_LOTAD_DOLL, _("LOTAD DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -902,7 +902,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SEEDOT_DOLL, _("SEEDOT DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_DOLL, 3000, @@ -911,7 +911,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_PIKA_CUSHION, _("PIKA CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -920,7 +920,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_ROUND_CUSHION, _("ROUND CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -929,7 +929,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_KISS_CUSHION, _("KISS CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -938,7 +938,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_ZIGZAG_CUSHION, _("ZIGZAG CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -947,7 +947,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SPIN_CUSHION, _("SPIN CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -956,7 +956,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_DIAMOND_CUSHION, _("DIAMOND CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -965,7 +965,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BALL_CUSHION, _("BALL CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -974,7 +974,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_GRASS_CUSHION, _("GRASS CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -983,7 +983,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_FIRE_CUSHION, _("FIRE CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -992,7 +992,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WATER_CUSHION, _("WATER CUSHION"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x1, DECORCAT_CUSHION, 2000, @@ -1001,7 +1001,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_SNORLAX_DOLL, _("SNORLAX DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1010,7 +1010,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_RHYDON_DOLL, _("RHYDON DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1019,7 +1019,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_LAPRAS_DOLL, _("LAPRAS DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1028,7 +1028,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_VENUSAUR_DOLL, _("VENUSAUR DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1037,7 +1037,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_CHARIZARD_DOLL, _("CHARIZARD DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1046,7 +1046,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_BLASTOISE_DOLL, _("BLASTOISE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1055,7 +1055,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_WAILMER_DOLL, _("WAILMER DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1064,7 +1064,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGIROCK_DOLL, _("REGIROCK DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1073,7 +1073,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGICE_DOLL, _("REGICE DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, @@ -1082,7 +1082,7 @@ const struct Decoration gDecorations[] = { }, { DECOR_REGISTEEL_DOLL, _("REGISTEEL DOLL"), - DECORPERM_SOLID_MAT, + DECORPERM_SPRITE, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h index f5ef15af9..27d5b1f9a 100755 --- a/src/data/field_event_obj/berry_tree_graphics_tables.h +++ b/src/data/field_event_obj/berry_tree_graphics_tables.h @@ -423,142 +423,143 @@ const u8 gDeadBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_ const u8 gBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES}; const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { - gEventObjectPicTable_CheriBerryTree, - gEventObjectPicTable_ChestoBerryTree, - gEventObjectPicTable_PechaBerryTree, - gEventObjectPicTable_RawstBerryTree, - gEventObjectPicTable_AspearBerryTree, - gEventObjectPicTable_LeppaBerryTree, - gEventObjectPicTable_OranBerryTree, - gEventObjectPicTable_PersimBerryTree, - gEventObjectPicTable_LumBerryTree, - gEventObjectPicTable_SitrusBerryTree, - gEventObjectPicTable_FigyBerryTree, - gEventObjectPicTable_WikiBerryTree, - gEventObjectPicTable_MagoBerryTree, - gEventObjectPicTable_AguavBerryTree, - gEventObjectPicTable_IapapaBerryTree, - gEventObjectPicTable_RazzBerryTree, - gEventObjectPicTable_RazzBerryTree, - gEventObjectPicTable_MagoBerryTree, - gEventObjectPicTable_WepearBerryTree, - gEventObjectPicTable_IapapaBerryTree, - gEventObjectPicTable_PomegBerryTree, - gEventObjectPicTable_KelpsyBerryTree, - gEventObjectPicTable_WepearBerryTree, - gEventObjectPicTable_HondewBerryTree, - gEventObjectPicTable_GrepaBerryTree, - gEventObjectPicTable_TamatoBerryTree, - gEventObjectPicTable_CornnBerryTree, - gEventObjectPicTable_PomegBerryTree, - gEventObjectPicTable_RabutaBerryTree, - gEventObjectPicTable_NomelBerryTree, - gEventObjectPicTable_SpelonBerryTree, - gEventObjectPicTable_PamtreBerryTree, - gEventObjectPicTable_RabutaBerryTree, - gEventObjectPicTable_DurinBerryTree, - gEventObjectPicTable_HondewBerryTree, - gEventObjectPicTable_LiechiBerryTree, - gEventObjectPicTable_HondewBerryTree, - gEventObjectPicTable_AguavBerryTree, - gEventObjectPicTable_PomegBerryTree, - gEventObjectPicTable_GrepaBerryTree, - gEventObjectPicTable_LansatBerryTree, - gEventObjectPicTable_CornnBerryTree, - gEventObjectPicTable_DurinBerryTree, + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CheriBerryTree, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_ChestoBerryTree, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PechaBerryTree, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RawstBerryTree, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AspearBerryTree, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LeppaBerryTree, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_OranBerryTree, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PersimBerryTree, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LumBerryTree, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SitrusBerryTree, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_FigyBerryTree, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WikiBerryTree, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_KelpsyBerryTree, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_TamatoBerryTree, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_NomelBerryTree, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SpelonBerryTree, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PamtreBerryTree, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LiechiBerryTree, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LansatBerryTree, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree, }; const u8 *const gBerryTreePaletteSlotTablePointers[] = { - gBerryTreePaletteSlotTable_Cheri, - gBerryTreePaletteSlotTable_Chesto, - gBerryTreePaletteSlotTable_Pecha, - gBerryTreePaletteSlotTable_Rawst, - gBerryTreePaletteSlotTable_Aspear, - gBerryTreePaletteSlotTable_Leppa, - gBerryTreePaletteSlotTable_Oran, - gBerryTreePaletteSlotTable_Persim, - gBerryTreePaletteSlotTable_Lum, - gBerryTreePaletteSlotTable_Sitrus, - gBerryTreePaletteSlotTable_Figy, - gBerryTreePaletteSlotTable_Wiki, - gBerryTreePaletteSlotTable_Mago, - gBerryTreePaletteSlotTable_Aguav, - gBerryTreePaletteSlotTable_Iapapa, - gBerryTreePaletteSlotTable_Razz, - gBerryTreePaletteSlotTable_Razz, - gBerryTreePaletteSlotTable_Mago, - gBerryTreePaletteSlotTable_Wepear, - gBerryTreePaletteSlotTable_Iapapa, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Kelpsy, - gBerryTreePaletteSlotTable_Wepear, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Grepa, - gBerryTreePaletteSlotTable_Tamato, - gBerryTreePaletteSlotTable_Cornn, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Rabuta, - gBerryTreePaletteSlotTable_Nomel, - gBerryTreePaletteSlotTable_Spelon, - gBerryTreePaletteSlotTable_Pamtre, - gBerryTreePaletteSlotTable_Rabuta, - gBerryTreePaletteSlotTable_Durin, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Liechi, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Aguav, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Grepa, - gBerryTreePaletteSlotTable_Lansat, - gBerryTreePaletteSlotTable_Cornn, - gBerryTreePaletteSlotTable_Durin, + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cheri, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Chesto, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pecha, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rawst, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aspear, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Leppa, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Oran, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Persim, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lum, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Sitrus, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Figy, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wiki, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kelpsy, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tamato, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Nomel, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Spelon, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pamtre, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Liechi, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lansat, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, }; const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = { - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, - gBerryTreeEventObjectGraphicsIdTable, + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + // 3 unused berries. + [ITEM_0B0 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_0B1 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, + [ITEM_0B2 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, }; diff --git a/src/data/items.h b/src/data/items.h index 7d7caa289..4d262e683 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -5,16 +5,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -25,14 +19,9 @@ const struct Item gItems[] = .name = _("MASTER BALL"), .itemId = ITEM_MASTER_BALL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMasterBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMasterBallDesc, .pocket = POCKET_POKE_BALLS, .type = 0, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 0, @@ -43,14 +32,9 @@ const struct Item gItems[] = .name = _("ULTRA BALL"), .itemId = ITEM_ULTRA_BALL, .price = 1200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gUltraBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sUltraBallDesc, .pocket = POCKET_POKE_BALLS, .type = 1, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 1, @@ -61,14 +45,9 @@ const struct Item gItems[] = .name = _("GREAT BALL"), .itemId = ITEM_GREAT_BALL, .price = 600, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGreatBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGreatBallDesc, .pocket = POCKET_POKE_BALLS, .type = 2, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 2, @@ -79,14 +58,9 @@ const struct Item gItems[] = .name = _("POKé BALL"), .itemId = ITEM_POKE_BALL, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPokeBallDesc, .pocket = POCKET_POKE_BALLS, .type = 3, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 3, @@ -97,14 +71,9 @@ const struct Item gItems[] = .name = _("SAFARI BALL"), .itemId = ITEM_SAFARI_BALL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSafariBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSafariBallDesc, .pocket = POCKET_POKE_BALLS, .type = 4, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 4, @@ -115,14 +84,9 @@ const struct Item gItems[] = .name = _("NET BALL"), .itemId = ITEM_NET_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNetBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNetBallDesc, .pocket = POCKET_POKE_BALLS, .type = 5, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 5, @@ -133,14 +97,9 @@ const struct Item gItems[] = .name = _("DIVE BALL"), .itemId = ITEM_DIVE_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDiveBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDiveBallDesc, .pocket = POCKET_POKE_BALLS, .type = 6, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 6, @@ -151,14 +110,9 @@ const struct Item gItems[] = .name = _("NEST BALL"), .itemId = ITEM_NEST_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNestBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNestBallDesc, .pocket = POCKET_POKE_BALLS, .type = 7, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 7, @@ -169,14 +123,9 @@ const struct Item gItems[] = .name = _("REPEAT BALL"), .itemId = ITEM_REPEAT_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRepeatBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRepeatBallDesc, .pocket = POCKET_POKE_BALLS, .type = 8, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 8, @@ -187,14 +136,9 @@ const struct Item gItems[] = .name = _("TIMER BALL"), .itemId = ITEM_TIMER_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTimerBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTimerBallDesc, .pocket = POCKET_POKE_BALLS, .type = 9, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 9, @@ -205,14 +149,9 @@ const struct Item gItems[] = .name = _("LUXURY BALL"), .itemId = ITEM_LUXURY_BALL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLuxuryBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLuxuryBallDesc, .pocket = POCKET_POKE_BALLS, .type = 10, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 10, @@ -223,14 +162,9 @@ const struct Item gItems[] = .name = _("PREMIER BALL"), .itemId = ITEM_PREMIER_BALL, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPremierBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPremierBallDesc, .pocket = POCKET_POKE_BALLS, .type = 11, - .fieldUseFunc = NULL, .battleUsage = 2, .battleUseFunc = ItemUseInBattle_PokeBall, .secondaryId = 11, @@ -243,11 +177,8 @@ const struct Item gItems[] = .name = _("POTION"), .itemId = ITEM_POTION, .price = 300, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 20, - .description = gPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -261,11 +192,7 @@ const struct Item gItems[] = .name = _("ANTIDOTE"), .itemId = ITEM_ANTIDOTE, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAntidoteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAntidoteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -279,11 +206,7 @@ const struct Item gItems[] = .name = _("BURN HEAL"), .itemId = ITEM_BURN_HEAL, .price = 250, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBurnHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBurnHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -297,11 +220,7 @@ const struct Item gItems[] = .name = _("ICE HEAL"), .itemId = ITEM_ICE_HEAL, .price = 250, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gIceHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sIceHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -315,11 +234,7 @@ const struct Item gItems[] = .name = _("AWAKENING"), .itemId = ITEM_AWAKENING, .price = 250, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAwakeningItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAwakeningDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -333,11 +248,7 @@ const struct Item gItems[] = .name = _("PARLYZ HEAL"), .itemId = ITEM_PARALYZE_HEAL, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gParalyzeHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sParalyzeHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -351,11 +262,8 @@ const struct Item gItems[] = .name = _("FULL RESTORE"), .itemId = ITEM_FULL_RESTORE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gFullRestoreItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFullRestoreDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -369,11 +277,8 @@ const struct Item gItems[] = .name = _("MAX POTION"), .itemId = ITEM_MAX_POTION, .price = 2500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gMaxPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -387,11 +292,8 @@ const struct Item gItems[] = .name = _("HYPER POTION"), .itemId = ITEM_HYPER_POTION, .price = 1200, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 200, - .description = gHyperPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHyperPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -405,11 +307,8 @@ const struct Item gItems[] = .name = _("SUPER POTION"), .itemId = ITEM_SUPER_POTION, .price = 700, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, - .description = gSuperPotionItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSuperPotionDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -423,11 +322,7 @@ const struct Item gItems[] = .name = _("FULL HEAL"), .itemId = ITEM_FULL_HEAL, .price = 600, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFullHealItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFullHealDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -441,11 +336,7 @@ const struct Item gItems[] = .name = _("REVIVE"), .itemId = ITEM_REVIVE, .price = 1500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gReviveItemDescription, - .importance = 0, - .unk19 = 0, + .description = sReviveDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -459,11 +350,7 @@ const struct Item gItems[] = .name = _("MAX REVIVE"), .itemId = ITEM_MAX_REVIVE, .price = 4000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMaxReviveItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxReviveDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -477,11 +364,8 @@ const struct Item gItems[] = .name = _("FRESH WATER"), .itemId = ITEM_FRESH_WATER, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, - .description = gFreshWaterItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFreshWaterDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -495,11 +379,8 @@ const struct Item gItems[] = .name = _("SODA POP"), .itemId = ITEM_SODA_POP, .price = 300, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 60, - .description = gSodaPopItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSodaPopDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -513,11 +394,8 @@ const struct Item gItems[] = .name = _("LEMONADE"), .itemId = ITEM_LEMONADE, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 80, - .description = gLemonadeItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLemonadeDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -531,11 +409,8 @@ const struct Item gItems[] = .name = _("MOOMOO MILK"), .itemId = ITEM_MOOMOO_MILK, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 100, - .description = gMoomooMilkItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMoomooMilkDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -549,11 +424,7 @@ const struct Item gItems[] = .name = _("ENERGYPOWDER"), .itemId = ITEM_ENERGY_POWDER, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEnergyPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEnergyPowderDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -567,11 +438,7 @@ const struct Item gItems[] = .name = _("ENERGY ROOT"), .itemId = ITEM_ENERGY_ROOT, .price = 800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEnergyRootItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEnergyRootDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -585,11 +452,7 @@ const struct Item gItems[] = .name = _("HEAL POWDER"), .itemId = ITEM_HEAL_POWDER, .price = 450, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHealPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHealPowderDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -603,11 +466,7 @@ const struct Item gItems[] = .name = _("REVIVAL HERB"), .itemId = ITEM_REVIVAL_HERB, .price = 2800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRevivalHerbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRevivalHerbDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -621,11 +480,8 @@ const struct Item gItems[] = .name = _("ETHER"), .itemId = ITEM_ETHER, .price = 1200, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 10, - .description = gEtherItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEtherDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -639,11 +495,8 @@ const struct Item gItems[] = .name = _("MAX ETHER"), .itemId = ITEM_MAX_ETHER, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gMaxEtherItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxEtherDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -657,11 +510,8 @@ const struct Item gItems[] = .name = _("ELIXIR"), .itemId = ITEM_ELIXIR, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 10, - .description = gElixirItemDescription, - .importance = 0, - .unk19 = 0, + .description = sElixirDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -675,11 +525,8 @@ const struct Item gItems[] = .name = _("MAX ELIXIR"), .itemId = ITEM_MAX_ELIXIR, .price = 4500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, - .description = gMaxElixirItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxElixirDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -693,11 +540,7 @@ const struct Item gItems[] = .name = _("LAVA COOKIE"), .itemId = ITEM_LAVA_COOKIE, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLavaCookieItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLavaCookieDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -711,11 +554,7 @@ const struct Item gItems[] = .name = _("BLUE FLUTE"), .itemId = ITEM_BLUE_FLUTE, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlueFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -729,11 +568,7 @@ const struct Item gItems[] = .name = _("YELLOW FLUTE"), .itemId = ITEM_YELLOW_FLUTE, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gYellowFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sYellowFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -747,11 +582,7 @@ const struct Item gItems[] = .name = _("RED FLUTE"), .itemId = ITEM_RED_FLUTE, .price = 300, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRedFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -765,16 +596,11 @@ const struct Item gItems[] = .name = _("BLACK FLUTE"), .itemId = ITEM_BLACK_FLUTE, .price = 400, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, - .description = gBlackFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlackFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -783,16 +609,11 @@ const struct Item gItems[] = .name = _("WHITE FLUTE"), .itemId = ITEM_WHITE_FLUTE, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 150, - .description = gWhiteFluteItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWhiteFluteDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -803,9 +624,7 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 20, - .description = gBerryJuiceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBerryJuiceDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -819,16 +638,10 @@ const struct Item gItems[] = .name = _("SACRED ASH"), .itemId = ITEM_SACRED_ASH, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSacredAshItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSacredAshDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -839,16 +652,10 @@ const struct Item gItems[] = .name = _("SHOAL SALT"), .itemId = ITEM_SHOAL_SALT, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gShoalSaltItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShoalSaltDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -857,16 +664,10 @@ const struct Item gItems[] = .name = _("SHOAL SHELL"), .itemId = ITEM_SHOAL_SHELL, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gShoalShellItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShoalShellDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -875,16 +676,10 @@ const struct Item gItems[] = .name = _("RED SHARD"), .itemId = ITEM_RED_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRedShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -893,16 +688,10 @@ const struct Item gItems[] = .name = _("BLUE SHARD"), .itemId = ITEM_BLUE_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlueShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -911,16 +700,10 @@ const struct Item gItems[] = .name = _("YELLOW SHARD"), .itemId = ITEM_YELLOW_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gYellowShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sYellowShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -929,16 +712,10 @@ const struct Item gItems[] = .name = _("GREEN SHARD"), .itemId = ITEM_GREEN_SHARD, .price = 200, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGreenShardItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGreenShardDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -947,16 +724,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -965,16 +736,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -983,16 +748,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1001,16 +760,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1019,16 +772,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1037,16 +784,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1055,16 +796,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1073,16 +808,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1091,16 +820,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1109,16 +832,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1127,16 +844,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1147,16 +858,10 @@ const struct Item gItems[] = .name = _("HP UP"), .itemId = ITEM_HP_UP, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHPUpItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHPUpDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1165,16 +870,10 @@ const struct Item gItems[] = .name = _("PROTEIN"), .itemId = ITEM_PROTEIN, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gProteinItemDescription, - .importance = 0, - .unk19 = 0, + .description = sProteinDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1183,16 +882,10 @@ const struct Item gItems[] = .name = _("IRON"), .itemId = ITEM_IRON, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gIronItemDescription, - .importance = 0, - .unk19 = 0, + .description = sIronDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1201,16 +894,10 @@ const struct Item gItems[] = .name = _("CARBOS"), .itemId = ITEM_CARBOS, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCarbosItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCarbosDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1219,16 +906,10 @@ const struct Item gItems[] = .name = _("CALCIUM"), .itemId = ITEM_CALCIUM, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCalciumItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCalciumDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1237,16 +918,10 @@ const struct Item gItems[] = .name = _("RARE CANDY"), .itemId = ITEM_RARE_CANDY, .price = 4800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRareCandyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRareCandyDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_RareCandy, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1255,16 +930,10 @@ const struct Item gItems[] = .name = _("PP UP"), .itemId = ITEM_PP_UP, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPPUpItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPPUpDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1273,16 +942,10 @@ const struct Item gItems[] = .name = _("ZINC"), .itemId = ITEM_ZINC, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gZincItemDescription, - .importance = 0, - .unk19 = 0, + .description = sZincDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1291,16 +954,10 @@ const struct Item gItems[] = .name = _("PP MAX"), .itemId = ITEM_PP_MAX, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPPMaxItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPPMaxDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1309,16 +966,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1329,11 +980,7 @@ const struct Item gItems[] = .name = _("GUARD SPEC."), .itemId = ITEM_GUARD_SPEC, .price = 700, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGuardSpecItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGuardSpecDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1347,11 +994,7 @@ const struct Item gItems[] = .name = _("DIRE HIT"), .itemId = ITEM_DIRE_HIT, .price = 650, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDireHitItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDireHitDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1365,11 +1008,7 @@ const struct Item gItems[] = .name = _("X ATTACK"), .itemId = ITEM_X_ATTACK, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXAttackItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXAttackDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1383,11 +1022,7 @@ const struct Item gItems[] = .name = _("X DEFEND"), .itemId = ITEM_X_DEFEND, .price = 550, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXDefendItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXDefendDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1401,11 +1036,7 @@ const struct Item gItems[] = .name = _("X SPEED"), .itemId = ITEM_X_SPEED, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXSpeedItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXSpeedDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1419,11 +1050,7 @@ const struct Item gItems[] = .name = _("X ACCURACY"), .itemId = ITEM_X_ACCURACY, .price = 950, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXAccuracyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXAccuracyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1437,11 +1064,7 @@ const struct Item gItems[] = .name = _("X SPECIAL"), .itemId = ITEM_X_SPECIAL, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gXSpecialItemDescription, - .importance = 0, - .unk19 = 0, + .description = sXSpecialDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1455,11 +1078,7 @@ const struct Item gItems[] = .name = _("POKé DOLL"), .itemId = ITEM_POKE_DOLL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeDollItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPokeDollDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1473,11 +1092,7 @@ const struct Item gItems[] = .name = _("FLUFFY TAIL"), .itemId = ITEM_FLUFFY_TAIL, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFluffyTailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFluffyTailDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1491,16 +1106,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1511,16 +1120,11 @@ const struct Item gItems[] = .name = _("SUPER REPEL"), .itemId = ITEM_SUPER_REPEL, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 200, - .description = gSuperRepelItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSuperRepelDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1529,16 +1133,11 @@ const struct Item gItems[] = .name = _("MAX REPEL"), .itemId = ITEM_MAX_REPEL, .price = 700, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 250, - .description = gMaxRepelItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMaxRepelDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1547,16 +1146,10 @@ const struct Item gItems[] = .name = _("ESCAPE ROPE"), .itemId = ITEM_ESCAPE_ROPE, .price = 550, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEscapeRopeItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEscapeRopeDesc, .pocket = POCKET_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1565,16 +1158,11 @@ const struct Item gItems[] = .name = _("REPEL"), .itemId = ITEM_REPEL, .price = 350, - .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 100, - .description = gRepelItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRepelDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1583,16 +1171,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1601,16 +1183,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1619,16 +1195,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1637,16 +1207,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1655,16 +1219,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1673,16 +1231,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1693,16 +1245,10 @@ const struct Item gItems[] = .name = _("SUN STONE"), .itemId = ITEM_SUN_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSunStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSunStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1711,16 +1257,10 @@ const struct Item gItems[] = .name = _("MOON STONE"), .itemId = ITEM_MOON_STONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMoonStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMoonStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1729,16 +1269,10 @@ const struct Item gItems[] = .name = _("FIRE STONE"), .itemId = ITEM_FIRE_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFireStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFireStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1747,16 +1281,10 @@ const struct Item gItems[] = .name = _("THUNDERSTONE"), .itemId = ITEM_THUNDER_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gThunderStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sThunderStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1765,16 +1293,10 @@ const struct Item gItems[] = .name = _("WATER STONE"), .itemId = ITEM_WATER_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWaterStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWaterStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1783,16 +1305,10 @@ const struct Item gItems[] = .name = _("LEAF STONE"), .itemId = ITEM_LEAF_STONE, .price = 2100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLeafStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLeafStoneDesc, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1801,16 +1317,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1819,16 +1329,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1837,16 +1341,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1855,16 +1353,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1875,16 +1367,10 @@ const struct Item gItems[] = .name = _("TINYMUSHROOM"), .itemId = ITEM_TINY_MUSHROOM, .price = 500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTinyMushroomItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTinyMushroomDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1893,16 +1379,10 @@ const struct Item gItems[] = .name = _("BIG MUSHROOM"), .itemId = ITEM_BIG_MUSHROOM, .price = 5000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBigMushroomItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBigMushroomDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1911,16 +1391,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1929,16 +1403,10 @@ const struct Item gItems[] = .name = _("PEARL"), .itemId = ITEM_PEARL, .price = 1400, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPearlItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPearlDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1947,16 +1415,10 @@ const struct Item gItems[] = .name = _("BIG PEARL"), .itemId = ITEM_BIG_PEARL, .price = 7500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBigPearlItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBigPearlDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1965,16 +1427,10 @@ const struct Item gItems[] = .name = _("STARDUST"), .itemId = ITEM_STARDUST, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gStardustItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStardustDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -1983,16 +1439,10 @@ const struct Item gItems[] = .name = _("STAR PIECE"), .itemId = ITEM_STAR_PIECE, .price = 9800, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gStarPieceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStarPieceDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2001,16 +1451,10 @@ const struct Item gItems[] = .name = _("NUGGET"), .itemId = ITEM_NUGGET, .price = 10000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNuggetItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNuggetDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2019,16 +1463,10 @@ const struct Item gItems[] = .name = _("HEART SCALE"), .itemId = ITEM_HEART_SCALE, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHeartScaleItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHeartScaleDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2037,16 +1475,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2055,16 +1487,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2073,16 +1499,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2091,16 +1511,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2109,16 +1523,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2127,16 +1535,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2145,16 +1547,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2163,16 +1559,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2181,16 +1571,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2200,16 +1584,10 @@ const struct Item gItems[] = .name = _("ORANGE MAIL"), .itemId = ITEM_ORANGE_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOrangeMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sOrangeMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2218,16 +1596,10 @@ const struct Item gItems[] = .name = _("HARBOR MAIL"), .itemId = ITEM_HARBOR_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHarborMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHarborMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -2236,16 +1608,10 @@ const struct Item gItems[] = .name = _("GLITTER MAIL"), .itemId = ITEM_GLITTER_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGlitterMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGlitterMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 2, }, @@ -2254,16 +1620,10 @@ const struct Item gItems[] = .name = _("MECH MAIL"), .itemId = ITEM_MECH_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMechMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMechMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 3, }, @@ -2272,16 +1632,10 @@ const struct Item gItems[] = .name = _("WOOD MAIL"), .itemId = ITEM_WOOD_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWoodMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWoodMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 4, }, @@ -2290,16 +1644,10 @@ const struct Item gItems[] = .name = _("WAVE MAIL"), .itemId = ITEM_WAVE_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWaveMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWaveMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 5, }, @@ -2308,16 +1656,10 @@ const struct Item gItems[] = .name = _("BEAD MAIL"), .itemId = ITEM_BEAD_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBeadMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBeadMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 6, }, @@ -2326,16 +1668,10 @@ const struct Item gItems[] = .name = _("SHADOW MAIL"), .itemId = ITEM_SHADOW_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gShadowMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShadowMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 7, }, @@ -2344,16 +1680,10 @@ const struct Item gItems[] = .name = _("TROPIC MAIL"), .itemId = ITEM_TROPIC_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTropicMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTropicMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 8, }, @@ -2362,16 +1692,10 @@ const struct Item gItems[] = .name = _("DREAM MAIL"), .itemId = ITEM_DREAM_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDreamMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDreamMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 9, }, @@ -2380,16 +1704,10 @@ const struct Item gItems[] = .name = _("FAB MAIL"), .itemId = ITEM_FAB_MAIL, .price = 50, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFabMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFabMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 10, }, @@ -2398,16 +1716,10 @@ const struct Item gItems[] = .name = _("RETRO MAIL"), .itemId = ITEM_RETRO_MAIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRetroMailItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRetroMailDesc, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 11, }, @@ -2419,10 +1731,7 @@ const struct Item gItems[] = .itemId = ITEM_CHERI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_PAR, - .holdEffectParam = 0, - .description = gCheriBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCheriBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2437,10 +1746,7 @@ const struct Item gItems[] = .itemId = ITEM_CHESTO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_SLP, - .holdEffectParam = 0, - .description = gChestoBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sChestoBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2455,10 +1761,7 @@ const struct Item gItems[] = .itemId = ITEM_PECHA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_PSN, - .holdEffectParam = 0, - .description = gPechaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPechaBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2473,10 +1776,7 @@ const struct Item gItems[] = .itemId = ITEM_RAWST_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_BRN, - .holdEffectParam = 0, - .description = gRawstBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRawstBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2491,10 +1791,7 @@ const struct Item gItems[] = .itemId = ITEM_ASPEAR_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_FRZ, - .holdEffectParam = 0, - .description = gAspearBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAspearBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2510,9 +1807,7 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_PP, .holdEffectParam = 10, - .description = gLeppaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLeppaBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -2528,9 +1823,7 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 10, - .description = gOranBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sOranBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2545,10 +1838,7 @@ const struct Item gItems[] = .itemId = ITEM_PERSIM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_CONFUSION, - .holdEffectParam = 0, - .description = gPersimBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPersimBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2563,10 +1853,7 @@ const struct Item gItems[] = .itemId = ITEM_LUM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_STATUS, - .holdEffectParam = 0, - .description = gLumBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLumBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2582,9 +1869,7 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 30, - .description = gSitrusBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSitrusBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2600,14 +1885,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SPICY, .holdEffectParam = 8, - .description = gFigyBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFigyBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2618,14 +1899,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_DRY, .holdEffectParam = 8, - .description = gWikiBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWikiBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2636,14 +1913,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SWEET, .holdEffectParam = 8, - .description = gMagoBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMagoBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2654,14 +1927,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_BITTER, .holdEffectParam = 8, - .description = gAguavBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAguavBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2672,14 +1941,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SOUR, .holdEffectParam = 8, - .description = gIapapaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sIapapaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2688,16 +1953,10 @@ const struct Item gItems[] = .name = _("RAZZ BERRY"), .itemId = ITEM_RAZZ_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRazzBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRazzBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2706,16 +1965,10 @@ const struct Item gItems[] = .name = _("BLUK BERRY"), .itemId = ITEM_BLUK_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlukBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlukBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2724,16 +1977,10 @@ const struct Item gItems[] = .name = _("NANAB BERRY"), .itemId = ITEM_NANAB_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNanabBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNanabBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2742,16 +1989,10 @@ const struct Item gItems[] = .name = _("WEPEAR BERRY"), .itemId = ITEM_WEPEAR_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWepearBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWepearBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2760,16 +2001,10 @@ const struct Item gItems[] = .name = _("PINAP BERRY"), .itemId = ITEM_PINAP_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPinapBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPinapBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2778,16 +2013,10 @@ const struct Item gItems[] = .name = _("POMEG BERRY"), .itemId = ITEM_POMEG_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPomegBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPomegBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2796,16 +2025,10 @@ const struct Item gItems[] = .name = _("KELPSY BERRY"), .itemId = ITEM_KELPSY_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gKelpsyBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sKelpsyBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2814,16 +2037,10 @@ const struct Item gItems[] = .name = _("QUALOT BERRY"), .itemId = ITEM_QUALOT_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gQualotBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sQualotBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2832,16 +2049,10 @@ const struct Item gItems[] = .name = _("HONDEW BERRY"), .itemId = ITEM_HONDEW_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHondewBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHondewBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2850,16 +2061,10 @@ const struct Item gItems[] = .name = _("GREPA BERRY"), .itemId = ITEM_GREPA_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGrepaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGrepaBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2868,16 +2073,10 @@ const struct Item gItems[] = .name = _("TAMATO BERRY"), .itemId = ITEM_TAMATO_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTamatoBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTamatoBerryDesc, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2886,16 +2085,10 @@ const struct Item gItems[] = .name = _("CORNN BERRY"), .itemId = ITEM_CORNN_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCornnBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCornnBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2904,16 +2097,10 @@ const struct Item gItems[] = .name = _("MAGOST BERRY"), .itemId = ITEM_MAGOST_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMagostBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMagostBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2922,16 +2109,10 @@ const struct Item gItems[] = .name = _("RABUTA BERRY"), .itemId = ITEM_RABUTA_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRabutaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRabutaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2940,16 +2121,10 @@ const struct Item gItems[] = .name = _("NOMEL BERRY"), .itemId = ITEM_NOMEL_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gNomelBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNomelBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2958,16 +2133,10 @@ const struct Item gItems[] = .name = _("SPELON BERRY"), .itemId = ITEM_SPELON_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSpelonBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSpelonBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2976,16 +2145,10 @@ const struct Item gItems[] = .name = _("PAMTRE BERRY"), .itemId = ITEM_PAMTRE_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPamtreBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPamtreBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -2994,16 +2157,10 @@ const struct Item gItems[] = .name = _("WATMEL BERRY"), .itemId = ITEM_WATMEL_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWatmelBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWatmelBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3012,16 +2169,10 @@ const struct Item gItems[] = .name = _("DURIN BERRY"), .itemId = ITEM_DURIN_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDurinBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDurinBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3030,16 +2181,10 @@ const struct Item gItems[] = .name = _("BELUE BERRY"), .itemId = ITEM_BELUE_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBelueBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBelueBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3050,14 +2195,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_ATTACK_UP, .holdEffectParam = 4, - .description = gLiechiBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLiechiBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3068,14 +2209,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_DEFENSE_UP, .holdEffectParam = 4, - .description = gGanlonBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGanlonBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3086,14 +2223,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_SPEED_UP, .holdEffectParam = 4, - .description = gSalacBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSalacBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3104,14 +2237,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_SP_ATTACK_UP, .holdEffectParam = 4, - .description = gPetayaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPetayaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3122,14 +2251,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP, .holdEffectParam = 4, - .description = gApicotBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sApicotBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3140,14 +2265,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_CRITICAL_UP, .holdEffectParam = 4, - .description = gLansatBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLansatBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3158,14 +2279,10 @@ const struct Item gItems[] = .price = 20, .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP, .holdEffectParam = 4, - .description = gStarfBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStarfBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3174,11 +2291,7 @@ const struct Item gItems[] = .name = _("ENIGMA BERRY"), .itemId = ITEM_ENIGMA_BERRY, .price = 20, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEnigmaBerryItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEnigmaBerryDesc, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, @@ -3192,16 +2305,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3210,16 +2317,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3228,16 +2329,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3250,14 +2345,10 @@ const struct Item gItems[] = .price = 10, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 10, - .description = gBrightPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBrightPowderDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3267,15 +2358,10 @@ const struct Item gItems[] = .itemId = ITEM_WHITE_HERB, .price = 100, .holdEffect = HOLD_EFFECT_RESTORE_STATS, - .holdEffectParam = 0, - .description = gWhiteHerbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sWhiteHerbDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3285,15 +2371,10 @@ const struct Item gItems[] = .itemId = ITEM_MACHO_BRACE, .price = 3000, .holdEffect = HOLD_EFFECT_MACHO_BRACE, - .holdEffectParam = 0, - .description = gMachoBraceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMachoBraceDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3303,15 +2384,10 @@ const struct Item gItems[] = .itemId = ITEM_EXP_SHARE, .price = 3000, .holdEffect = HOLD_EFFECT_EXP_SHARE, - .holdEffectParam = 0, - .description = gExpShareItemDescription, - .importance = 0, - .unk19 = 0, + .description = sExpShareDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3322,14 +2398,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_QUICK_CLAW, .holdEffectParam = 20, - .description = gQuickClawItemDescription, - .importance = 0, - .unk19 = 0, + .description = sQuickClawDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3339,15 +2411,10 @@ const struct Item gItems[] = .itemId = ITEM_SOOTHE_BELL, .price = 100, .holdEffect = HOLD_EFFECT_HAPPINESS_UP, - .holdEffectParam = 0, - .description = gSootheBellItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSootheBellDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3357,15 +2424,10 @@ const struct Item gItems[] = .itemId = ITEM_MENTAL_HERB, .price = 100, .holdEffect = HOLD_EFFECT_CURE_ATTRACT, - .holdEffectParam = 0, - .description = gMentalHerbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMentalHerbDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3375,15 +2437,10 @@ const struct Item gItems[] = .itemId = ITEM_CHOICE_BAND, .price = 100, .holdEffect = HOLD_EFFECT_CHOICE_BAND, - .holdEffectParam = 0, - .description = gChoiceBandItemDescription, - .importance = 0, - .unk19 = 0, + .description = sChoiceBandDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3394,14 +2451,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_FLINCH, .holdEffectParam = 10, - .description = gKingsRockItemDescription, - .importance = 0, - .unk19 = 0, + .description = sKingsRockDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3412,14 +2465,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_BUG_POWER, .holdEffectParam = 10, - .description = gSilverPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSilverPowderDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3430,14 +2479,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, .holdEffectParam = 10, - .description = gAmuletCoinItemDescription, - .importance = 0, - .unk19 = 0, + .description = sAmuletCoinDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3447,15 +2492,10 @@ const struct Item gItems[] = .itemId = ITEM_CLEANSE_TAG, .price = 200, .holdEffect = HOLD_EFFECT_REPEL, - .holdEffectParam = 0, - .description = gCleanseTagItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCleanseTagDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3465,15 +2505,10 @@ const struct Item gItems[] = .itemId = ITEM_SOUL_DEW, .price = 200, .holdEffect = HOLD_EFFECT_SOUL_DEW, - .holdEffectParam = 0, - .description = gSoulDewItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSoulDewDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3483,15 +2518,10 @@ const struct Item gItems[] = .itemId = ITEM_DEEP_SEA_TOOTH, .price = 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, - .holdEffectParam = 0, - .description = gDeepSeaToothItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDeepSeaToothDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3501,15 +2531,10 @@ const struct Item gItems[] = .itemId = ITEM_DEEP_SEA_SCALE, .price = 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, - .holdEffectParam = 0, - .description = gDeepSeaScaleItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDeepSeaScaleDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3519,15 +2544,10 @@ const struct Item gItems[] = .itemId = ITEM_SMOKE_BALL, .price = 200, .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN, - .holdEffectParam = 0, - .description = gSmokeBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSmokeBallDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3537,15 +2557,10 @@ const struct Item gItems[] = .itemId = ITEM_EVERSTONE, .price = 200, .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE, - .holdEffectParam = 0, - .description = gEverstoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sEverstoneDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3556,14 +2571,10 @@ const struct Item gItems[] = .price = 200, .holdEffect = HOLD_EFFECT_FOCUS_BAND, .holdEffectParam = 10, - .description = gFocusBandItemDescription, - .importance = 0, - .unk19 = 0, + .description = sFocusBandDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3573,15 +2584,10 @@ const struct Item gItems[] = .itemId = ITEM_LUCKY_EGG, .price = 200, .holdEffect = HOLD_EFFECT_LUCKY_EGG, - .holdEffectParam = 0, - .description = gLuckyEggItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLuckyEggDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3591,15 +2597,10 @@ const struct Item gItems[] = .itemId = ITEM_SCOPE_LENS, .price = 200, .holdEffect = HOLD_EFFECT_SCOPE_LENS, - .holdEffectParam = 0, - .description = gScopeLensItemDescription, - .importance = 0, - .unk19 = 0, + .description = sScopeLensDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3610,14 +2611,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_STEEL_POWER, .holdEffectParam = 10, - .description = gMetalCoatItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMetalCoatDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3628,14 +2625,10 @@ const struct Item gItems[] = .price = 200, .holdEffect = HOLD_EFFECT_LEFTOVERS, .holdEffectParam = 10, - .description = gLeftoversItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLeftoversDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3646,14 +2639,10 @@ const struct Item gItems[] = .price = 2100, .holdEffect = HOLD_EFFECT_DRAGON_SCALE, .holdEffectParam = 10, - .description = gDragonScaleItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDragonScaleDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3663,15 +2652,10 @@ const struct Item gItems[] = .itemId = ITEM_LIGHT_BALL, .price = 100, .holdEffect = HOLD_EFFECT_LIGHT_BALL, - .holdEffectParam = 0, - .description = gLightBallItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLightBallDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3682,14 +2666,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_GROUND_POWER, .holdEffectParam = 10, - .description = gSoftSandItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSoftSandDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3700,14 +2680,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_ROCK_POWER, .holdEffectParam = 10, - .description = gHardStoneItemDescription, - .importance = 0, - .unk19 = 0, + .description = sHardStoneDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3718,14 +2694,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_GRASS_POWER, .holdEffectParam = 10, - .description = gMiracleSeedItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMiracleSeedDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3736,14 +2708,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_DARK_POWER, .holdEffectParam = 10, - .description = gBlackGlassesItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlackGlassesDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3754,14 +2722,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_FIGHTING_POWER, .holdEffectParam = 10, - .description = gBlackBeltItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlackBeltDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3772,14 +2736,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, .holdEffectParam = 10, - .description = gMagnetItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMagnetDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3790,14 +2750,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 10, - .description = gMysticWaterItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMysticWaterDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3808,14 +2764,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_FLYING_POWER, .holdEffectParam = 10, - .description = gSharpBeakItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSharpBeakDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3826,14 +2778,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_POISON_POWER, .holdEffectParam = 10, - .description = gPoisonBarbItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPoisonBarbDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3844,14 +2792,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_ICE_POWER, .holdEffectParam = 10, - .description = gNeverMeltIceItemDescription, - .importance = 0, - .unk19 = 0, + .description = sNeverMeltIceDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3862,14 +2806,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_GHOST_POWER, .holdEffectParam = 10, - .description = gSpellTagItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSpellTagDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3880,14 +2820,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, .holdEffectParam = 10, - .description = gTwistedSpoonItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTwistedSpoonDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3898,14 +2834,10 @@ const struct Item gItems[] = .price = 9800, .holdEffect = HOLD_EFFECT_FIRE_POWER, .holdEffectParam = 10, - .description = gCharcoalItemDescription, - .importance = 0, - .unk19 = 0, + .description = sCharcoalDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3916,14 +2848,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_DRAGON_POWER, .holdEffectParam = 10, - .description = gDragonFangItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDragonFangDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3934,14 +2862,10 @@ const struct Item gItems[] = .price = 100, .holdEffect = HOLD_EFFECT_NORMAL_POWER, .holdEffectParam = 10, - .description = gSilkScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSilkScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3951,15 +2875,10 @@ const struct Item gItems[] = .itemId = ITEM_UP_GRADE, .price = 2100, .holdEffect = HOLD_EFFECT_UP_GRADE, - .holdEffectParam = 0, - .description = gUpGradeItemDescription, - .importance = 0, - .unk19 = 0, + .description = sUpGradeDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3970,14 +2889,10 @@ const struct Item gItems[] = .price = 200, .holdEffect = HOLD_EFFECT_SHELL_BELL, .holdEffectParam = 8, - .description = gShellBellItemDescription, - .importance = 0, - .unk19 = 0, + .description = sShellBellDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -3988,14 +2903,10 @@ const struct Item gItems[] = .price = 9600, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 5, - .description = gSeaIncenseItemDescription, - .importance = 0, - .unk19 = 0, + .description = sSeaIncenseDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4006,14 +2917,10 @@ const struct Item gItems[] = .price = 9600, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 5, - .description = gLaxIncenseItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLaxIncenseDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4023,15 +2930,10 @@ const struct Item gItems[] = .itemId = ITEM_LUCKY_PUNCH, .price = 10, .holdEffect = HOLD_EFFECT_LUCKY_PUNCH, - .holdEffectParam = 0, - .description = gLuckyPunchItemDescription, - .importance = 0, - .unk19 = 0, + .description = sLuckyPunchDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4041,15 +2943,10 @@ const struct Item gItems[] = .itemId = ITEM_METAL_POWDER, .price = 10, .holdEffect = HOLD_EFFECT_METAL_POWDER, - .holdEffectParam = 0, - .description = gMetalPowderItemDescription, - .importance = 0, - .unk19 = 0, + .description = sMetalPowderDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4059,15 +2956,10 @@ const struct Item gItems[] = .itemId = ITEM_THICK_CLUB, .price = 500, .holdEffect = HOLD_EFFECT_THICK_CLUB, - .holdEffectParam = 0, - .description = gThickClubItemDescription, - .importance = 0, - .unk19 = 0, + .description = sThickClubDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4077,15 +2969,10 @@ const struct Item gItems[] = .itemId = ITEM_STICK, .price = 200, .holdEffect = HOLD_EFFECT_STICK, - .holdEffectParam = 0, - .description = gStickItemDescription, - .importance = 0, - .unk19 = 0, + .description = sStickDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4094,16 +2981,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4112,16 +2993,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4130,16 +3005,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4148,16 +3017,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4166,16 +3029,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4184,16 +3041,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4202,16 +3053,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4220,16 +3065,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4238,16 +3077,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4256,16 +3089,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4274,16 +3101,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4292,16 +3113,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4310,16 +3125,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4328,16 +3137,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4346,16 +3149,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4364,16 +3161,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4382,16 +3173,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4400,16 +3185,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4418,16 +3197,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4436,16 +3209,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4454,16 +3221,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4472,16 +3233,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4490,16 +3245,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4508,16 +3257,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4526,16 +3269,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4544,16 +3281,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4562,16 +3293,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4580,16 +3305,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4598,16 +3317,10 @@ const struct Item gItems[] = .name = _("RED SCARF"), .itemId = ITEM_RED_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sRedScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4616,16 +3329,10 @@ const struct Item gItems[] = .name = _("BLUE SCARF"), .itemId = ITEM_BLUE_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sBlueScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4634,16 +3341,10 @@ const struct Item gItems[] = .name = _("PINK SCARF"), .itemId = ITEM_PINK_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPinkScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sPinkScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4652,16 +3353,10 @@ const struct Item gItems[] = .name = _("GREEN SCARF"), .itemId = ITEM_GREEN_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGreenScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sGreenScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4670,16 +3365,10 @@ const struct Item gItems[] = .name = _("YELLOW SCARF"), .itemId = ITEM_YELLOW_SCARF, .price = 100, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gYellowScarfItemDescription, - .importance = 0, - .unk19 = 0, + .description = sYellowScarfDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4690,16 +3379,12 @@ const struct Item gItems[] = .name = _("MACH BIKE"), .itemId = ITEM_MACH_BIKE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMachBikeItemDescription, + .description = sMachBikeDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4708,16 +3393,11 @@ const struct Item gItems[] = .name = _("COIN CASE"), .itemId = ITEM_COIN_CASE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCoinCaseItemDescription, + .description = sCoinCaseDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CoinCase, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4726,16 +3406,12 @@ const struct Item gItems[] = .name = _("ITEMFINDER"), .itemId = ITEM_ITEMFINDER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gItemfinderItemDescription, + .description = sItemfinderDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4744,16 +3420,12 @@ const struct Item gItems[] = .name = _("OLD ROD"), .itemId = ITEM_OLD_ROD, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOldRodItemDescription, + .description = sOldRodDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4762,16 +3434,12 @@ const struct Item gItems[] = .name = _("GOOD ROD"), .itemId = ITEM_GOOD_ROD, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGoodRodItemDescription, + .description = sGoodRodDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -4780,16 +3448,12 @@ const struct Item gItems[] = .name = _("SUPER ROD"), .itemId = ITEM_SUPER_ROD, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSuperRodItemDescription, + .description = sSuperRodDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 2, }, @@ -4798,16 +3462,11 @@ const struct Item gItems[] = .name = _("S.S. TICKET"), .itemId = ITEM_SS_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSSTicketItemDescription, + .description = sSSTicketDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4816,16 +3475,11 @@ const struct Item gItems[] = .name = _("CONTEST PASS"), .itemId = ITEM_CONTEST_PASS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gContestPassItemDescription, + .description = sContestPassDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4834,16 +3488,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4852,16 +3500,11 @@ const struct Item gItems[] = .name = _("WAILMER PAIL"), .itemId = ITEM_WAILMER_PAIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gWailmerPailItemDescription, + .description = sWailmerPailDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4870,16 +3513,11 @@ const struct Item gItems[] = .name = _("DEVON GOODS"), .itemId = ITEM_DEVON_GOODS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDevonGoodsItemDescription, + .description = sDevonGoodsDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4888,16 +3526,11 @@ const struct Item gItems[] = .name = _("SOOT SACK"), .itemId = ITEM_SOOT_SACK, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSootSackItemDescription, + .description = sSootSackDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4906,16 +3539,11 @@ const struct Item gItems[] = .name = _("BASEMENT KEY"), .itemId = ITEM_BASEMENT_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBasementKeyItemDescription, + .description = sBasementKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4924,16 +3552,12 @@ const struct Item gItems[] = .name = _("ACRO BIKE"), .itemId = ITEM_ACRO_BIKE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAcroBikeItemDescription, + .description = sAcroBikeDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -4942,16 +3566,12 @@ const struct Item gItems[] = .name = _("{POKEBLOCK} CASE"), .itemId = ITEM_POKEBLOCK_CASE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeblockCaseItemDescription, + .description = sPokeblockCaseDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 3, .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4960,16 +3580,11 @@ const struct Item gItems[] = .name = _("LETTER"), .itemId = ITEM_LETTER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLetterItemDescription, + .description = sLetterDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -4978,16 +3593,11 @@ const struct Item gItems[] = .name = _("EON TICKET"), .itemId = ITEM_EON_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gEonTicketItemDescription, + .description = sEonTicketDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 1, }, @@ -4996,16 +3606,11 @@ const struct Item gItems[] = .name = _("RED ORB"), .itemId = ITEM_RED_ORB, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRedOrbItemDescription, + .description = sRedOrbDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5014,16 +3619,11 @@ const struct Item gItems[] = .name = _("BLUE ORB"), .itemId = ITEM_BLUE_ORB, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBlueOrbItemDescription, + .description = sBlueOrbDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5032,16 +3632,11 @@ const struct Item gItems[] = .name = _("SCANNER"), .itemId = ITEM_SCANNER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gScannerItemDescription, + .description = sScannerDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5050,16 +3645,11 @@ const struct Item gItems[] = .name = _("GO-GOGGLES"), .itemId = ITEM_GO_GOGGLES, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGoGogglesItemDescription, + .description = sGoGogglesDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5068,16 +3658,11 @@ const struct Item gItems[] = .name = _("METEORITE"), .itemId = ITEM_METEORITE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMeteoriteItemDescription, + .description = sMeteoriteDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5086,16 +3671,11 @@ const struct Item gItems[] = .name = _("RM. 1 KEY"), .itemId = ITEM_ROOM_1_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom1KeyItemDescription, + .description = sRoom1KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5104,16 +3684,11 @@ const struct Item gItems[] = .name = _("RM. 2 KEY"), .itemId = ITEM_ROOM_2_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom2KeyItemDescription, + .description = sRoom2KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5122,16 +3697,11 @@ const struct Item gItems[] = .name = _("RM. 4 KEY"), .itemId = ITEM_ROOM_4_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom4KeyItemDescription, + .description = sRoom4KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5140,16 +3710,11 @@ const struct Item gItems[] = .name = _("RM. 6 KEY"), .itemId = ITEM_ROOM_6_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRoom6KeyItemDescription, + .description = sRoom6KeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5158,16 +3723,11 @@ const struct Item gItems[] = .name = _("STORAGE KEY"), .itemId = ITEM_STORAGE_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gStorageKeyItemDescription, + .description = sStorageKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5176,16 +3736,11 @@ const struct Item gItems[] = .name = _("ROOT FOSSIL"), .itemId = ITEM_ROOT_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRootFossilItemDescription, + .description = sRootFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5194,16 +3749,11 @@ const struct Item gItems[] = .name = _("CLAW FOSSIL"), .itemId = ITEM_CLAW_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gClawFossilItemDescription, + .description = sClawFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5212,16 +3762,11 @@ const struct Item gItems[] = .name = _("DEVON SCOPE"), .itemId = ITEM_DEVON_SCOPE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDevonScopeItemDescription, + .description = sDevonScopeDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5232,16 +3777,10 @@ const struct Item gItems[] = .name = _("TM01"), .itemId = ITEM_TM01_FOCUS_PUNCH, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM01ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM01Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5250,16 +3789,10 @@ const struct Item gItems[] = .name = _("TM02"), .itemId = ITEM_TM02_DRAGON_CLAW, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM02ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM02Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5268,16 +3801,10 @@ const struct Item gItems[] = .name = _("TM03"), .itemId = ITEM_TM03_WATER_PULSE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM03ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM03Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5286,16 +3813,10 @@ const struct Item gItems[] = .name = _("TM04"), .itemId = ITEM_TM04_CALM_MIND, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM04ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM04Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5304,16 +3825,10 @@ const struct Item gItems[] = .name = _("TM05"), .itemId = ITEM_TM05_ROAR, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM05ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM05Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5322,16 +3837,10 @@ const struct Item gItems[] = .name = _("TM06"), .itemId = ITEM_TM06_TOXIC, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM06ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM06Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5340,16 +3849,10 @@ const struct Item gItems[] = .name = _("TM07"), .itemId = ITEM_TM07_HAIL, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM07ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM07Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5358,16 +3861,10 @@ const struct Item gItems[] = .name = _("TM08"), .itemId = ITEM_TM08_BULK_UP, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM08ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM08Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5376,16 +3873,10 @@ const struct Item gItems[] = .name = _("TM09"), .itemId = ITEM_TM09_BULLET_SEED, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM09ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM09Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5394,16 +3885,10 @@ const struct Item gItems[] = .name = _("TM10"), .itemId = ITEM_TM10_HIDDEN_POWER, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM10ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM10Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5412,16 +3897,10 @@ const struct Item gItems[] = .name = _("TM11"), .itemId = ITEM_TM11_SUNNY_DAY, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM11ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM11Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5430,16 +3909,10 @@ const struct Item gItems[] = .name = _("TM12"), .itemId = ITEM_TM12_TAUNT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM12ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM12Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5448,16 +3921,10 @@ const struct Item gItems[] = .name = _("TM13"), .itemId = ITEM_TM13_ICE_BEAM, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM13ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM13Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5466,16 +3933,10 @@ const struct Item gItems[] = .name = _("TM14"), .itemId = ITEM_TM14_BLIZZARD, .price = 5500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM14ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM14Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5484,16 +3945,10 @@ const struct Item gItems[] = .name = _("TM15"), .itemId = ITEM_TM15_HYPER_BEAM, .price = 7500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM15ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM15Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5502,16 +3957,10 @@ const struct Item gItems[] = .name = _("TM16"), .itemId = ITEM_TM16_LIGHT_SCREEN, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM16ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM16Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5520,16 +3969,10 @@ const struct Item gItems[] = .name = _("TM17"), .itemId = ITEM_TM17_PROTECT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM17ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM17Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5538,16 +3981,10 @@ const struct Item gItems[] = .name = _("TM18"), .itemId = ITEM_TM18_RAIN_DANCE, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM18ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM18Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5556,16 +3993,10 @@ const struct Item gItems[] = .name = _("TM19"), .itemId = ITEM_TM19_GIGA_DRAIN, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM19ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM19Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5574,16 +4005,10 @@ const struct Item gItems[] = .name = _("TM20"), .itemId = ITEM_TM20_SAFEGUARD, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM20ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM20Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5592,16 +4017,10 @@ const struct Item gItems[] = .name = _("TM21"), .itemId = ITEM_TM21_FRUSTRATION, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM21ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM21Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5610,16 +4029,10 @@ const struct Item gItems[] = .name = _("TM22"), .itemId = ITEM_TM22_SOLARBEAM, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM22ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM22Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5628,16 +4041,10 @@ const struct Item gItems[] = .name = _("TM23"), .itemId = ITEM_TM23_IRON_TAIL, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM23ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM23Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5646,16 +4053,10 @@ const struct Item gItems[] = .name = _("TM24"), .itemId = ITEM_TM24_THUNDERBOLT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM24ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM24Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5664,16 +4065,10 @@ const struct Item gItems[] = .name = _("TM25"), .itemId = ITEM_TM25_THUNDER, .price = 5500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM25ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM25Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5682,16 +4077,10 @@ const struct Item gItems[] = .name = _("TM26"), .itemId = ITEM_TM26_EARTHQUAKE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM26ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM26Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5700,16 +4089,10 @@ const struct Item gItems[] = .name = _("TM27"), .itemId = ITEM_TM27_RETURN, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM27ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM27Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5718,16 +4101,10 @@ const struct Item gItems[] = .name = _("TM28"), .itemId = ITEM_TM28_DIG, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM28ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM28Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5736,16 +4113,10 @@ const struct Item gItems[] = .name = _("TM29"), .itemId = ITEM_TM29_PSYCHIC, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM29ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM29Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5754,16 +4125,10 @@ const struct Item gItems[] = .name = _("TM30"), .itemId = ITEM_TM30_SHADOW_BALL, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM30ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM30Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5772,16 +4137,10 @@ const struct Item gItems[] = .name = _("TM31"), .itemId = ITEM_TM31_BRICK_BREAK, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM31ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM31Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5790,16 +4149,10 @@ const struct Item gItems[] = .name = _("TM32"), .itemId = ITEM_TM32_DOUBLE_TEAM, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM32ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM32Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5808,16 +4161,10 @@ const struct Item gItems[] = .name = _("TM33"), .itemId = ITEM_TM33_REFLECT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM33ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM33Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5826,16 +4173,10 @@ const struct Item gItems[] = .name = _("TM34"), .itemId = ITEM_TM34_SHOCK_WAVE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM34ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM34Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5844,16 +4185,10 @@ const struct Item gItems[] = .name = _("TM35"), .itemId = ITEM_TM35_FLAMETHROWER, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM35ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM35Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5862,16 +4197,10 @@ const struct Item gItems[] = .name = _("TM36"), .itemId = ITEM_TM36_SLUDGE_BOMB, .price = 1000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM36ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM36Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5880,16 +4209,10 @@ const struct Item gItems[] = .name = _("TM37"), .itemId = ITEM_TM37_SANDSTORM, .price = 2000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM37ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM37Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5898,16 +4221,10 @@ const struct Item gItems[] = .name = _("TM38"), .itemId = ITEM_TM38_FIRE_BLAST, .price = 5500, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM38ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM38Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5916,16 +4233,10 @@ const struct Item gItems[] = .name = _("TM39"), .itemId = ITEM_TM39_ROCK_TOMB, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM39ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM39Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5934,16 +4245,10 @@ const struct Item gItems[] = .name = _("TM40"), .itemId = ITEM_TM40_AERIAL_ACE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM40ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM40Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5952,16 +4257,10 @@ const struct Item gItems[] = .name = _("TM41"), .itemId = ITEM_TM41_TORMENT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM41ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM41Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5970,16 +4269,10 @@ const struct Item gItems[] = .name = _("TM42"), .itemId = ITEM_TM42_FACADE, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM42ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM42Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -5988,16 +4281,10 @@ const struct Item gItems[] = .name = _("TM43"), .itemId = ITEM_TM43_SECRET_POWER, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM43ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM43Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6006,16 +4293,10 @@ const struct Item gItems[] = .name = _("TM44"), .itemId = ITEM_TM44_REST, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM44ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM44Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6024,16 +4305,10 @@ const struct Item gItems[] = .name = _("TM45"), .itemId = ITEM_TM45_ATTRACT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM45ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM45Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6042,16 +4317,10 @@ const struct Item gItems[] = .name = _("TM46"), .itemId = ITEM_TM46_THIEF, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM46ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM46Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6060,16 +4329,10 @@ const struct Item gItems[] = .name = _("TM47"), .itemId = ITEM_TM47_STEEL_WING, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM47ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM47Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6078,16 +4341,10 @@ const struct Item gItems[] = .name = _("TM48"), .itemId = ITEM_TM48_SKILL_SWAP, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM48ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM48Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6096,16 +4353,10 @@ const struct Item gItems[] = .name = _("TM49"), .itemId = ITEM_TM49_SNATCH, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM49ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM49Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6114,16 +4365,10 @@ const struct Item gItems[] = .name = _("TM50"), .itemId = ITEM_TM50_OVERHEAT, .price = 3000, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTM50ItemDescription, - .importance = 0, - .unk19 = 0, + .description = sTM50Desc, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6132,16 +4377,11 @@ const struct Item gItems[] = .name = _("HM01"), .itemId = ITEM_HM01_CUT, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM01ItemDescription, + .description = sHM01Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6150,16 +4390,11 @@ const struct Item gItems[] = .name = _("HM02"), .itemId = ITEM_HM02_FLY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM02ItemDescription, + .description = sHM02Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6168,16 +4403,11 @@ const struct Item gItems[] = .name = _("HM03"), .itemId = ITEM_HM03_SURF, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM03ItemDescription, + .description = sHM03Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6186,16 +4416,11 @@ const struct Item gItems[] = .name = _("HM04"), .itemId = ITEM_HM04_STRENGTH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM04ItemDescription, + .description = sHM04Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6204,16 +4429,11 @@ const struct Item gItems[] = .name = _("HM05"), .itemId = ITEM_HM05_FLASH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM05ItemDescription, + .description = sHM05Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6222,16 +4442,11 @@ const struct Item gItems[] = .name = _("HM06"), .itemId = ITEM_HM06_ROCK_SMASH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM06ItemDescription, + .description = sHM06Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6240,16 +4455,11 @@ const struct Item gItems[] = .name = _("HM07"), .itemId = ITEM_HM07_WATERFALL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM07ItemDescription, + .description = sHM07Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6258,16 +4468,11 @@ const struct Item gItems[] = .name = _("HM08"), .itemId = ITEM_HM08_DIVE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHM08ItemDescription, + .description = sHM08Desc, .importance = 1, - .unk19 = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6276,16 +4481,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6294,16 +4493,10 @@ const struct Item gItems[] = .name = _("????????"), .itemId = ITEM_NONE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDummyItemDescription, - .importance = 0, - .unk19 = 0, + .description = sDummyDesc, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6314,16 +4507,11 @@ const struct Item gItems[] = .name = _("OAK'S PARCEL"), .itemId = ITEM_OAKS_PARCEL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOaksParcelItemDescription, + .description = sOaksParcelDesc, .importance = 2, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6332,16 +4520,11 @@ const struct Item gItems[] = .name = _("POKé FLUTE"), .itemId = ITEM_POKE_FLUTE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPokeFluteItemDescription, + .description = sPokeFluteDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6350,16 +4533,11 @@ const struct Item gItems[] = .name = _("SECRET KEY"), .itemId = ITEM_SECRET_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSecretKeyItemDescription, + .description = sSecretKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6368,16 +4546,11 @@ const struct Item gItems[] = .name = _("BIKE VOUCHER"), .itemId = ITEM_BIKE_VOUCHER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBikeVoucherItemDescription, + .description = sBikeVoucherDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6386,16 +4559,11 @@ const struct Item gItems[] = .name = _("GOLD TEETH"), .itemId = ITEM_GOLD_TEETH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gGoldTeethItemDescription, + .description = sGoldTeethDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6404,16 +4572,11 @@ const struct Item gItems[] = .name = _("OLD AMBER"), .itemId = ITEM_OLD_AMBER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOldAmberItemDescription, + .description = sOldAmberDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6422,16 +4585,11 @@ const struct Item gItems[] = .name = _("CARD KEY"), .itemId = ITEM_CARD_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gCardKeyItemDescription, + .description = sCardKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6440,16 +4598,11 @@ const struct Item gItems[] = .name = _("LIFT KEY"), .itemId = ITEM_LIFT_KEY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gLiftKeyItemDescription, + .description = sLiftKeyDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6458,16 +4611,11 @@ const struct Item gItems[] = .name = _("HELIX FOSSIL"), .itemId = ITEM_HELIX_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gHelixFossilItemDescription, + .description = sHelixFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6476,16 +4624,11 @@ const struct Item gItems[] = .name = _("DOME FOSSIL"), .itemId = ITEM_DOME_FOSSIL, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gDomeFossilItemDescription, + .description = sDomeFossilDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6494,16 +4637,11 @@ const struct Item gItems[] = .name = _("SILPH SCOPE"), .itemId = ITEM_SILPH_SCOPE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSilphScopeItemDescription, + .description = sSilphScopeDesc, .importance = 1, - .unk19 = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6512,16 +4650,12 @@ const struct Item gItems[] = .name = _("BICYCLE"), .itemId = ITEM_BICYCLE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBicycleItemDescription, + .description = sBicycleDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6530,16 +4664,12 @@ const struct Item gItems[] = .name = _("TOWN MAP"), .itemId = ITEM_TOWN_MAP, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTownMapItemDescription, + .description = sTownMapDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6548,16 +4678,12 @@ const struct Item gItems[] = .name = _("VS SEEKER"), .itemId = ITEM_VS_SEEKER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gVSSeekerItemDescription, + .description = sVSSeekerDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6566,16 +4692,12 @@ const struct Item gItems[] = .name = _("FAME CHECKER"), .itemId = ITEM_FAME_CHECKER, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gFameCheckerItemDescription, + .description = sFameCheckerDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6584,16 +4706,12 @@ const struct Item gItems[] = .name = _("TM CASE"), .itemId = ITEM_TM_CASE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTMCaseItemDescription, + .description = sTMCaseDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6602,16 +4720,12 @@ const struct Item gItems[] = .name = _("BERRY POUCH"), .itemId = ITEM_BERRY_POUCH, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gBerryPouchItemDescription, + .description = sBerryPouchDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6620,16 +4734,12 @@ const struct Item gItems[] = .name = _("TEACHY TV"), .itemId = ITEM_TEACHY_TV, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTeachyTVItemDescription, + .description = sTeachyTVDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6638,16 +4748,12 @@ const struct Item gItems[] = .name = _("TRI-PASS"), .itemId = ITEM_TRI_PASS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTriPassItemDescription, + .description = sTriPassDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6656,16 +4762,12 @@ const struct Item gItems[] = .name = _("RAINBOW PASS"), .itemId = ITEM_RAINBOW_PASS, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRainbowPassItemDescription, + .description = sRainbowPassDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6674,16 +4776,12 @@ const struct Item gItems[] = .name = _("TEA"), .itemId = ITEM_TEA, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gTeaItemDescription, + .description = sTeaDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6692,16 +4790,12 @@ const struct Item gItems[] = .name = _("MYSTICTICKET"), .itemId = ITEM_MYSTIC_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMysticTicketItemDescription, + .description = sMysticTicketDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6710,16 +4804,12 @@ const struct Item gItems[] = .name = _("AURORATICKET"), .itemId = ITEM_AURORA_TICKET, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gAuroraTicketItemDescription, + .description = sAuroraTicketDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6728,16 +4818,12 @@ const struct Item gItems[] = .name = _("POWDER JAR"), .itemId = ITEM_POWDER_JAR, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gPowderJarItemDescription, + .description = sPowderJarDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_PowderJar, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6746,16 +4832,12 @@ const struct Item gItems[] = .name = _("RUBY"), .itemId = ITEM_RUBY, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gRubyItemDescription, + .description = sRubyDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6764,16 +4846,12 @@ const struct Item gItems[] = .name = _("SAPPHIRE"), .itemId = ITEM_SAPPHIRE, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gSapphireItemDescription, + .description = sSapphireDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6784,16 +4862,12 @@ const struct Item gItems[] = .name = _("MAGMA EMBLEM"), .itemId = ITEM_MAGMA_EMBLEM, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gMagmaEmblemItemDescription, + .description = sMagmaEmblemDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, @@ -6802,16 +4876,12 @@ const struct Item gItems[] = .name = _("OLD SEA MAP"), .itemId = ITEM_OLD_SEA_MAP, .price = 0, - .holdEffect = HOLD_EFFECT_NONE, - .holdEffectParam = 0, - .description = gOldSeaMapItemDescription, + .description = sOldSeaMapDesc, .importance = 1, .unk19 = 1, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .battleUsage = 0, - .battleUseFunc = NULL, .secondaryId = 0, }, }; diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index 9f5720a66..1697a1e7e 100644 --- a/src/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h @@ -1,236 +1,476 @@ -const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; -const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; -const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; -const u8 gItemEffect_IceHeal[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; -const u8 gItemEffect_Awakening[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; -const u8 gItemEffect_ParalyzeHeal[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; -const u8 gItemEffect_FullRestore[] = {0x00, 0x00, 0x00, 0x3f, 0x04, 0x00, 0xff}; -const u8 gItemEffect_MaxPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff}; -const u8 gItemEffect_HyperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 200}; -const u8 gItemEffect_SuperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; -const u8 gItemEffect_FullHeal[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; -const u8 gItemEffect_Revive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xfe}; -const u8 gItemEffect_MaxRevive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; -const u8 gItemEffect_FreshWater[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; -const u8 gItemEffect_SodaPop[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 60}; -const u8 gItemEffect_Lemonade[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 80}; -const u8 gItemEffect_MoomooMilk[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 100}; -const u8 gItemEffect_EnergyPowder[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 50, 0xfb, 0xfb, 0xf6}; -const u8 gItemEffect_EnergyRoot[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 200, 0xf6, 0xf6, 0xf1}; -const u8 gItemEffect_HealPowder[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0xe0, 0xfb, 0xfb, 0xf6}; -const u8 gItemEffect_RevivalHerb[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0xe0, 0xff, 0xf1, 0xf1, 0xec}; -const u8 gItemEffect_Ether[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; -const u8 gItemEffect_MaxEther[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7f}; -const u8 gItemEffect_Elixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a}; -const u8 gItemEffect_MaxElixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7f}; -const u8 gItemEffect_LavaCookie[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; -const u8 gItemEffect_BlueFlute[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; -const u8 gItemEffect_YellowFlute[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; -const u8 gItemEffect_RedFlute[] = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00}; -const u8 gItemEffect_BerryJuice[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; -const u8 gItemEffect_SacredAsh[] = {0x40, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; -const u8 gItemEffect_HPUp[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Protein[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Iron[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Carbos[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Calcium[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_RareCandy[] = {0x00, 0x00, 0x00, 0x40, 0x44, 0xe0, 253, 0x05, 0x03, 0x02}; -const u8 gItemEffect_PPUp[] = {0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0x05, 0x03, 0x02}; -const u8 gItemEffect_Zinc[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x0a, 0x05, 0x03, 0x02}; -const u8 gItemEffect_PPMax[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x05, 0x03, 0x02}; -const u8 gItemEffect_GuardSpec[] = {0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_DireHit[] = {0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XAttack[] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XDefend[] = {0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XSpeed[] = {0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XAccuracy[] = {0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_XSpecial[] = {0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x01, 0x01}; -const u8 gItemEffect_SunStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_MoonStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_FireStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_ThunderStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_WaterStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_LeafStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; -const u8 gItemEffect_CheriBerry[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; -const u8 gItemEffect_ChestoBerry[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; -const u8 gItemEffect_PechaBerry[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; -const u8 gItemEffect_RawstBerry[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; -const u8 gItemEffect_AspearBerry[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; -const u8 gItemEffect_LeppaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; -const u8 gItemEffect_OranBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 10}; -const u8 gItemEffect_PersimBerry[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; -const u8 gItemEffect_LumBerry[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; -const u8 gItemEffect_SitrusBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 30}; -const u8 gItemEffect_PomegBerry[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_KelpsyBerry[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_QualotBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_HondrewBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_GrepaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xf6, 0x0a, 0x05, 0x02}; -const u8 gItemEffect_TamatoBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_Potion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 20, +}; + +const u8 gItemEffect_Antidote[6] = { + [3] = ITEM3_POISON, +}; + +const u8 gItemEffect_BurnHeal[6] = { + [3] = ITEM3_BURN, +}; + +const u8 gItemEffect_IceHeal[6] = { + [3] = ITEM3_FREEZE, +}; + +const u8 gItemEffect_Awakening[6] = { + [3] = ITEM3_SLEEP, +}; + +const u8 gItemEffect_ParalyzeHeal[6] = { + [3] = ITEM3_PARALYSIS, +}; + +const u8 gItemEffect_FullRestore[7] = { + [3] = ITEM3_STATUS_ALL, + [4] = ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_MaxPotion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_HyperPotion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 200, +}; + +const u8 gItemEffect_SuperPotion[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 50, +}; + +const u8 gItemEffect_FullHeal[6] = { + [3] = ITEM3_STATUS_ALL, +}; + +const u8 gItemEffect_Revive[7] = { + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [6] = -2, +}; + +const u8 gItemEffect_MaxRevive[7] = { + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_FreshWater[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 50, +}; + +const u8 gItemEffect_SodaPop[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 60, +}; + +const u8 gItemEffect_Lemonade[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 80, +}; + +const u8 gItemEffect_MoomooMilk[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 100, +}; + +const u8 gItemEffect_EnergyPowder[10] = { + [4] = ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 50, + [7] = -5, + [8] = -5, + [9] = -10, +}; + +const u8 gItemEffect_EnergyRoot[10] = { + [4] = ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 200, + [7] = -10, + [8] = -10, + [9] = -15, +}; + +const u8 gItemEffect_HealPowder[9] = { + [3] = ITEM3_STATUS_ALL, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -5, + [7] = -5, + [8] = -10, +}; + +const u8 gItemEffect_RevivalHerb[10] = { + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -1, + [7] = -15, + [8] = -15, + [9] = -20, +}; + +const u8 gItemEffect_Ether[7] = { + [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL, + [6] = 10, +}; + +const u8 gItemEffect_MaxEther[7] = { + [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL, + [6] = 0x7F, +}; + +const u8 gItemEffect_Elixir[7] = { + [4] = ITEM4_HEAL_PP_ALL, + [6] = 10, +}; + +const u8 gItemEffect_MaxElixir[7] = { + [4] = ITEM4_HEAL_PP_ALL, + [6] = 0x7F, +}; + +const u8 gItemEffect_LavaCookie[6] = { + [3] = ITEM3_STATUS_ALL, +}; + +const u8 gItemEffect_BlueFlute[6] = { + [3] = ITEM3_SLEEP, +}; + +const u8 gItemEffect_YellowFlute[6] = { + [3] = ITEM3_CONFUSION, +}; + +const u8 gItemEffect_RedFlute[6] = { + [0] = ITEM0_INFATUATION, +}; + +const u8 gItemEffect_BerryJuice[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 20, +}; + +const u8 gItemEffect_SacredAsh[7] = { + [0] = ITEM0_SACRED_ASH, + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [6] = -1, +}; + +const u8 gItemEffect_HPUp[10] = { + [4] = ITEM4_EV_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Protein[10] = { + [4] = ITEM4_EV_ATK, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Iron[10] = { + [5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Carbos[10] = { + [5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_Calcium[10] = { + [5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_RareCandy[10] = { + [3] = ITEM3_LEVEL_UP, + [4] = ITEM4_REVIVE | ITEM4_HEAL_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 0xFD, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_PPUp[9] = { + [4] = ITEM4_PP_UP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = 5, + [7] = 3, + [8] = 2, +}; + +const u8 gItemEffect_Zinc[10] = { + [5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL, + [6] = 10, + [7] = 5, + [8] = 3, + [9] = 2, +}; + +const u8 gItemEffect_PPMax[9] = { + [5] = ITEM5_PP_MAX | ITEM5_FRIENDSHIP_ALL, + [6] = 5, + [7] = 3, + [8] = 2, +}; + +const u8 gItemEffect_GuardSpec[8] = { + [3] = ITEM3_MIST, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_DireHit[8] = { + [0] = 2 << 4, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XAttack[8] = { + [0] = 1, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XDefend[8] = { + [1] = 1 << 4, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XSpeed[8] = { + [1] = 1, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XAccuracy[8] = { + [2] = 1 << 4, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_XSpecial[8] = { + [2] = 1, + [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, + [6] = 1, + [7] = 1, +}; + +const u8 gItemEffect_SunStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_MoonStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_FireStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_ThunderStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_WaterStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_LeafStone[6] = { + [4] = ITEM4_EVO_STONE, +}; + +const u8 gItemEffect_CheriBerry[6] = { + [3] = ITEM3_PARALYSIS, +}; + +const u8 gItemEffect_ChestoBerry[6] = { + [3] = ITEM3_SLEEP, +}; + +const u8 gItemEffect_PechaBerry[6] = { + [3] = ITEM3_POISON, +}; + +const u8 gItemEffect_RawstBerry[6] = { + [3] = ITEM3_BURN, +}; + +const u8 gItemEffect_AspearBerry[6] = { + [3] = ITEM3_FREEZE, +}; + +const u8 gItemEffect_LeppaBerry[7] = { + [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL, + [6] = 10, +}; + +const u8 gItemEffect_OranBerry[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 10, +}; + +const u8 gItemEffect_PersimBerry[6] = { + [3] = ITEM3_CONFUSION, +}; + +const u8 gItemEffect_LumBerry[6] = { + [3] = ITEM3_STATUS_ALL, +}; + +const u8 gItemEffect_SitrusBerry[7] = { + [4] = ITEM4_HEAL_HP, + [6] = 30, +}; + +const u8 gItemEffect_PomegBerry[10] = { + [4] = ITEM4_EV_HP, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_KelpsyBerry[10] = { + [4] = ITEM4_EV_ATK, + [5] = ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_QualotBerry[10] = { + [5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_HondrewBerry[10] = { + [5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_GrepaBerry[10] = { + [5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; + +const u8 gItemEffect_TamatoBerry[10] = { + [5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL, + [6] = -10, + [7] = 10, + [8] = 5, + [9] = 2, +}; const u8 *const gItemEffectTable[] = { - gItemEffect_Potion, - gItemEffect_Antidote, - gItemEffect_BurnHeal, - gItemEffect_IceHeal, - gItemEffect_Awakening, - gItemEffect_ParalyzeHeal, - gItemEffect_FullRestore, - gItemEffect_MaxPotion, - gItemEffect_HyperPotion, - gItemEffect_SuperPotion, - gItemEffect_FullHeal, - gItemEffect_Revive, - gItemEffect_MaxRevive, - gItemEffect_FreshWater, - gItemEffect_SodaPop, - gItemEffect_Lemonade, - gItemEffect_MoomooMilk, - gItemEffect_EnergyPowder, - gItemEffect_EnergyRoot, - gItemEffect_HealPowder, - gItemEffect_RevivalHerb, - gItemEffect_Ether, - gItemEffect_MaxEther, - gItemEffect_Elixir, - gItemEffect_MaxElixir, - gItemEffect_LavaCookie, - gItemEffect_BlueFlute, - gItemEffect_YellowFlute, - gItemEffect_RedFlute, - NULL, - NULL, - gItemEffect_BerryJuice, - gItemEffect_SacredAsh, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_HPUp, - gItemEffect_Protein, - gItemEffect_Iron, - gItemEffect_Carbos, - gItemEffect_Calcium, - gItemEffect_RareCandy, - gItemEffect_PPUp, - gItemEffect_Zinc, - gItemEffect_PPMax, - NULL, - gItemEffect_GuardSpec, - gItemEffect_DireHit, - gItemEffect_XAttack, - gItemEffect_XDefend, - gItemEffect_XSpeed, - gItemEffect_XAccuracy, - gItemEffect_XSpecial, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_SunStone, - gItemEffect_MoonStone, - gItemEffect_FireStone, - gItemEffect_ThunderStone, - gItemEffect_WaterStone, - gItemEffect_LeafStone, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_CheriBerry, - gItemEffect_ChestoBerry, - gItemEffect_PechaBerry, - gItemEffect_RawstBerry, - gItemEffect_AspearBerry, - gItemEffect_LeppaBerry, - gItemEffect_OranBerry, - gItemEffect_PersimBerry, - gItemEffect_LumBerry, - gItemEffect_SitrusBerry, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - gItemEffect_PomegBerry, - gItemEffect_KelpsyBerry, - gItemEffect_QualotBerry, - gItemEffect_HondrewBerry, - gItemEffect_GrepaBerry, - gItemEffect_TamatoBerry, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + [ITEM_POTION - ITEM_POTION] = gItemEffect_Potion, + [ITEM_ANTIDOTE - ITEM_POTION] = gItemEffect_Antidote, + [ITEM_BURN_HEAL - ITEM_POTION] = gItemEffect_BurnHeal, + [ITEM_ICE_HEAL - ITEM_POTION] = gItemEffect_IceHeal, + [ITEM_AWAKENING - ITEM_POTION] = gItemEffect_Awakening, + [ITEM_PARALYZE_HEAL - ITEM_POTION] = gItemEffect_ParalyzeHeal, + [ITEM_FULL_RESTORE - ITEM_POTION] = gItemEffect_FullRestore, + [ITEM_MAX_POTION - ITEM_POTION] = gItemEffect_MaxPotion, + [ITEM_HYPER_POTION - ITEM_POTION] = gItemEffect_HyperPotion, + [ITEM_SUPER_POTION - ITEM_POTION] = gItemEffect_SuperPotion, + [ITEM_FULL_HEAL - ITEM_POTION] = gItemEffect_FullHeal, + [ITEM_REVIVE - ITEM_POTION] = gItemEffect_Revive, + [ITEM_MAX_REVIVE - ITEM_POTION] = gItemEffect_MaxRevive, + [ITEM_FRESH_WATER - ITEM_POTION] = gItemEffect_FreshWater, + [ITEM_SODA_POP - ITEM_POTION] = gItemEffect_SodaPop, + [ITEM_LEMONADE - ITEM_POTION] = gItemEffect_Lemonade, + [ITEM_MOOMOO_MILK - ITEM_POTION] = gItemEffect_MoomooMilk, + [ITEM_ENERGY_POWDER - ITEM_POTION] = gItemEffect_EnergyPowder, + [ITEM_ENERGY_ROOT - ITEM_POTION] = gItemEffect_EnergyRoot, + [ITEM_HEAL_POWDER - ITEM_POTION] = gItemEffect_HealPowder, + [ITEM_REVIVAL_HERB - ITEM_POTION] = gItemEffect_RevivalHerb, + [ITEM_ETHER - ITEM_POTION] = gItemEffect_Ether, + [ITEM_MAX_ETHER - ITEM_POTION] = gItemEffect_MaxEther, + [ITEM_ELIXIR - ITEM_POTION] = gItemEffect_Elixir, + [ITEM_MAX_ELIXIR - ITEM_POTION] = gItemEffect_MaxElixir, + [ITEM_LAVA_COOKIE - ITEM_POTION] = gItemEffect_LavaCookie, + [ITEM_BLUE_FLUTE - ITEM_POTION] = gItemEffect_BlueFlute, + [ITEM_YELLOW_FLUTE - ITEM_POTION] = gItemEffect_YellowFlute, + [ITEM_RED_FLUTE - ITEM_POTION] = gItemEffect_RedFlute, + [ITEM_BERRY_JUICE - ITEM_POTION] = gItemEffect_BerryJuice, + [ITEM_SACRED_ASH - ITEM_POTION] = gItemEffect_SacredAsh, + [ITEM_HP_UP - ITEM_POTION] = gItemEffect_HPUp, + [ITEM_PROTEIN - ITEM_POTION] = gItemEffect_Protein, + [ITEM_IRON - ITEM_POTION] = gItemEffect_Iron, + [ITEM_CARBOS - ITEM_POTION] = gItemEffect_Carbos, + [ITEM_CALCIUM - ITEM_POTION] = gItemEffect_Calcium, + [ITEM_RARE_CANDY - ITEM_POTION] = gItemEffect_RareCandy, + [ITEM_PP_UP - ITEM_POTION] = gItemEffect_PPUp, + [ITEM_ZINC - ITEM_POTION] = gItemEffect_Zinc, + [ITEM_PP_MAX - ITEM_POTION] = gItemEffect_PPMax, + [ITEM_GUARD_SPEC - ITEM_POTION] = gItemEffect_GuardSpec, + [ITEM_DIRE_HIT - ITEM_POTION] = gItemEffect_DireHit, + [ITEM_X_ATTACK - ITEM_POTION] = gItemEffect_XAttack, + [ITEM_X_DEFEND - ITEM_POTION] = gItemEffect_XDefend, + [ITEM_X_SPEED - ITEM_POTION] = gItemEffect_XSpeed, + [ITEM_X_ACCURACY - ITEM_POTION] = gItemEffect_XAccuracy, + [ITEM_X_SPECIAL - ITEM_POTION] = gItemEffect_XSpecial, + [ITEM_SUN_STONE - ITEM_POTION] = gItemEffect_SunStone, + [ITEM_MOON_STONE - ITEM_POTION] = gItemEffect_MoonStone, + [ITEM_FIRE_STONE - ITEM_POTION] = gItemEffect_FireStone, + [ITEM_THUNDER_STONE - ITEM_POTION] = gItemEffect_ThunderStone, + [ITEM_WATER_STONE - ITEM_POTION] = gItemEffect_WaterStone, + [ITEM_LEAF_STONE - ITEM_POTION] = gItemEffect_LeafStone, + [ITEM_CHERI_BERRY - ITEM_POTION] = gItemEffect_CheriBerry, + [ITEM_CHESTO_BERRY - ITEM_POTION] = gItemEffect_ChestoBerry, + [ITEM_PECHA_BERRY - ITEM_POTION] = gItemEffect_PechaBerry, + [ITEM_RAWST_BERRY - ITEM_POTION] = gItemEffect_RawstBerry, + [ITEM_ASPEAR_BERRY - ITEM_POTION] = gItemEffect_AspearBerry, + [ITEM_LEPPA_BERRY - ITEM_POTION] = gItemEffect_LeppaBerry, + [ITEM_ORAN_BERRY - ITEM_POTION] = gItemEffect_OranBerry, + [ITEM_PERSIM_BERRY - ITEM_POTION] = gItemEffect_PersimBerry, + [ITEM_LUM_BERRY - ITEM_POTION] = gItemEffect_LumBerry, + [ITEM_SITRUS_BERRY - ITEM_POTION] = gItemEffect_SitrusBerry, + [ITEM_POMEG_BERRY - ITEM_POTION] = gItemEffect_PomegBerry, + [ITEM_KELPSY_BERRY - ITEM_POTION] = gItemEffect_KelpsyBerry, + [ITEM_QUALOT_BERRY - ITEM_POTION] = gItemEffect_QualotBerry, + [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondrewBerry, + [ITEM_GREPA_BERRY - ITEM_POTION] = gItemEffect_GrepaBerry, + [ITEM_TAMATO_BERRY - ITEM_POTION] = gItemEffect_TamatoBerry, + [LAST_BERRY_INDEX - ITEM_POTION] = NULL }; diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index 0de0bfb52..0a89f20c8 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1,5 +1,3 @@ -#include "constants/species.h" - const struct MonCoords gMonBackPicCoords[] = { [SPECIES_NONE] = diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index c6fd1300b..9a98927aa 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1,444 +1,443 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = { - [SPECIES_NONE] = {gMonBackPic_CircledQuestionMark, 0x800, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonBackPic_Bulbasaur, 0x800, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonBackPic_Ivysaur, 0x800, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonBackPic_Venusaur, 0x800, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonBackPic_Charmander, 0x800, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonBackPic_Charmeleon, 0x800, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonBackPic_Charizard, 0x800, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonBackPic_Squirtle, 0x800, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonBackPic_Wartortle, 0x800, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonBackPic_Blastoise, 0x800, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonBackPic_Caterpie, 0x800, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonBackPic_Metapod, 0x800, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonBackPic_Butterfree, 0x800, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonBackPic_Weedle, 0x800, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonBackPic_Kakuna, 0x800, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonBackPic_Beedrill, 0x800, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonBackPic_Pidgey, 0x800, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonBackPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonBackPic_Pidgeot, 0x800, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonBackPic_Rattata, 0x800, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonBackPic_Raticate, 0x800, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonBackPic_Spearow, 0x800, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonBackPic_Fearow, 0x800, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonBackPic_Ekans, 0x800, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonBackPic_Arbok, 0x800, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonBackPic_Pikachu, 0x800, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonBackPic_Raichu, 0x800, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonBackPic_Sandshrew, 0x800, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonBackPic_Sandslash, 0x800, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonBackPic_NidoranF, 0x800, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonBackPic_Nidorina, 0x800, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonBackPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonBackPic_NidoranM, 0x800, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonBackPic_Nidorino, 0x800, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonBackPic_Nidoking, 0x800, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonBackPic_Clefairy, 0x800, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonBackPic_Clefable, 0x800, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonBackPic_Vulpix, 0x800, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonBackPic_Ninetales, 0x800, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonBackPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonBackPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonBackPic_Zubat, 0x800, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonBackPic_Golbat, 0x800, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonBackPic_Oddish, 0x800, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonBackPic_Gloom, 0x800, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonBackPic_Vileplume, 0x800, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonBackPic_Paras, 0x800, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonBackPic_Parasect, 0x800, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonBackPic_Venonat, 0x800, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonBackPic_Venomoth, 0x800, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonBackPic_Diglett, 0x800, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonBackPic_Dugtrio, 0x800, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonBackPic_Meowth, 0x800, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonBackPic_Persian, 0x800, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonBackPic_Psyduck, 0x800, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonBackPic_Golduck, 0x800, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonBackPic_Mankey, 0x800, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonBackPic_Primeape, 0x800, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonBackPic_Growlithe, 0x800, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonBackPic_Arcanine, 0x800, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonBackPic_Poliwag, 0x800, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonBackPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonBackPic_Poliwrath, 0x800, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonBackPic_Abra, 0x800, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonBackPic_Kadabra, 0x800, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonBackPic_Alakazam, 0x800, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonBackPic_Machop, 0x800, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonBackPic_Machoke, 0x800, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonBackPic_Machamp, 0x800, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonBackPic_Bellsprout, 0x800, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonBackPic_Weepinbell, 0x800, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonBackPic_Victreebel, 0x800, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonBackPic_Tentacool, 0x800, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonBackPic_Tentacruel, 0x800, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonBackPic_Geodude, 0x800, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonBackPic_Graveler, 0x800, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonBackPic_Golem, 0x800, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonBackPic_Ponyta, 0x800, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonBackPic_Rapidash, 0x800, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonBackPic_Slowpoke, 0x800, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonBackPic_Slowbro, 0x800, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonBackPic_Magnemite, 0x800, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonBackPic_Magneton, 0x800, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonBackPic_Farfetchd, 0x800, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonBackPic_Doduo, 0x800, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonBackPic_Dodrio, 0x800, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonBackPic_Seel, 0x800, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonBackPic_Dewgong, 0x800, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonBackPic_Grimer, 0x800, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonBackPic_Muk, 0x800, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonBackPic_Shellder, 0x800, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonBackPic_Cloyster, 0x800, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonBackPic_Gastly, 0x800, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonBackPic_Haunter, 0x800, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonBackPic_Gengar, 0x800, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonBackPic_Onix, 0x800, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonBackPic_Drowzee, 0x800, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonBackPic_Hypno, 0x800, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonBackPic_Krabby, 0x800, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonBackPic_Kingler, 0x800, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonBackPic_Voltorb, 0x800, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonBackPic_Electrode, 0x800, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonBackPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonBackPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonBackPic_Cubone, 0x800, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonBackPic_Marowak, 0x800, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonBackPic_Hitmonlee, 0x800, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonBackPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonBackPic_Lickitung, 0x800, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonBackPic_Koffing, 0x800, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonBackPic_Weezing, 0x800, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonBackPic_Rhyhorn, 0x800, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonBackPic_Rhydon, 0x800, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonBackPic_Chansey, 0x800, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonBackPic_Tangela, 0x800, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonBackPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonBackPic_Horsea, 0x800, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonBackPic_Seadra, 0x800, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonBackPic_Goldeen, 0x800, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonBackPic_Seaking, 0x800, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonBackPic_Staryu, 0x800, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonBackPic_Starmie, 0x800, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonBackPic_Mrmime, 0x800, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonBackPic_Scyther, 0x800, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonBackPic_Jynx, 0x800, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonBackPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonBackPic_Magmar, 0x800, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonBackPic_Pinsir, 0x800, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonBackPic_Tauros, 0x800, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonBackPic_Magikarp, 0x800, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonBackPic_Gyarados, 0x800, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonBackPic_Lapras, 0x800, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonBackPic_Ditto, 0x800, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonBackPic_Eevee, 0x800, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonBackPic_Vaporeon, 0x800, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonBackPic_Jolteon, 0x800, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonBackPic_Flareon, 0x800, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonBackPic_Porygon, 0x800, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonBackPic_Omanyte, 0x800, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonBackPic_Omastar, 0x800, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonBackPic_Kabuto, 0x800, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonBackPic_Kabutops, 0x800, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonBackPic_Aerodactyl, 0x800, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonBackPic_Snorlax, 0x800, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonBackPic_Articuno, 0x800, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonBackPic_Zapdos, 0x800, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonBackPic_Moltres, 0x800, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonBackPic_Dratini, 0x800, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonBackPic_Dragonair, 0x800, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonBackPic_Dragonite, 0x800, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonBackPic_Mewtwo, 0x800, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonBackPic_Mew, 0x800, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonBackPic_Chikorita, 0x800, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonBackPic_Bayleef, 0x800, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonBackPic_Meganium, 0x800, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonBackPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonBackPic_Quilava, 0x800, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonBackPic_Typhlosion, 0x800, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonBackPic_Totodile, 0x800, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonBackPic_Croconaw, 0x800, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonBackPic_Feraligatr, 0x800, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonBackPic_Sentret, 0x800, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonBackPic_Furret, 0x800, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonBackPic_Hoothoot, 0x800, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonBackPic_Noctowl, 0x800, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonBackPic_Ledyba, 0x800, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonBackPic_Ledian, 0x800, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonBackPic_Spinarak, 0x800, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonBackPic_Ariados, 0x800, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonBackPic_Crobat, 0x800, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonBackPic_Chinchou, 0x800, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonBackPic_Lanturn, 0x800, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonBackPic_Pichu, 0x800, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonBackPic_Cleffa, 0x800, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonBackPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonBackPic_Togepi, 0x800, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonBackPic_Togetic, 0x800, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonBackPic_Natu, 0x800, SPECIES_NATU}, - [SPECIES_XATU] = {gMonBackPic_Xatu, 0x800, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonBackPic_Mareep, 0x800, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonBackPic_Flaaffy, 0x800, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonBackPic_Ampharos, 0x800, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonBackPic_Bellossom, 0x800, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonBackPic_Marill, 0x800, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonBackPic_Azumarill, 0x800, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonBackPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonBackPic_Politoed, 0x800, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonBackPic_Hoppip, 0x800, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonBackPic_Skiploom, 0x800, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonBackPic_Jumpluff, 0x800, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonBackPic_Aipom, 0x800, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonBackPic_Sunkern, 0x800, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonBackPic_Sunflora, 0x800, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonBackPic_Yanma, 0x800, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonBackPic_Wooper, 0x800, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonBackPic_Quagsire, 0x800, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonBackPic_Espeon, 0x800, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonBackPic_Umbreon, 0x800, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonBackPic_Murkrow, 0x800, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonBackPic_Slowking, 0x800, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonBackPic_Misdreavus, 0x800, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonBackPic_UnownA, 0x800, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonBackPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonBackPic_Girafarig, 0x800, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonBackPic_Pineco, 0x800, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonBackPic_Forretress, 0x800, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonBackPic_Dunsparce, 0x800, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonBackPic_Gligar, 0x800, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonBackPic_Steelix, 0x800, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonBackPic_Snubbull, 0x800, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonBackPic_Granbull, 0x800, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonBackPic_Qwilfish, 0x800, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonBackPic_Scizor, 0x800, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonBackPic_Shuckle, 0x800, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonBackPic_Heracross, 0x800, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonBackPic_Sneasel, 0x800, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonBackPic_Teddiursa, 0x800, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonBackPic_Ursaring, 0x800, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonBackPic_Slugma, 0x800, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonBackPic_Magcargo, 0x800, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonBackPic_Swinub, 0x800, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonBackPic_Piloswine, 0x800, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonBackPic_Corsola, 0x800, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonBackPic_Remoraid, 0x800, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonBackPic_Octillery, 0x800, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonBackPic_Delibird, 0x800, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonBackPic_Mantine, 0x800, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonBackPic_Skarmory, 0x800, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonBackPic_Houndour, 0x800, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonBackPic_Houndoom, 0x800, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonBackPic_Kingdra, 0x800, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonBackPic_Phanpy, 0x800, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonBackPic_Donphan, 0x800, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonBackPic_Porygon2, 0x800, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonBackPic_Stantler, 0x800, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonBackPic_Smeargle, 0x800, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonBackPic_Tyrogue, 0x800, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonBackPic_Hitmontop, 0x800, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonBackPic_Smoochum, 0x800, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonBackPic_Elekid, 0x800, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonBackPic_Magby, 0x800, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonBackPic_Miltank, 0x800, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonBackPic_Blissey, 0x800, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonBackPic_Raikou, 0x800, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonBackPic_Entei, 0x800, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonBackPic_Suicune, 0x800, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonBackPic_Larvitar, 0x800, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonBackPic_Pupitar, 0x800, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonBackPic_Tyranitar, 0x800, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonBackPic_Lugia, 0x800, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonBackPic_HoOh, 0x800, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonBackPic_Celebi, 0x800, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonBackPic_Treecko, 0x800, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonBackPic_Grovyle, 0x800, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonBackPic_Sceptile, 0x800, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonBackPic_Torchic, 0x800, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonBackPic_Combusken, 0x800, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonBackPic_Blaziken, 0x800, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonBackPic_Mudkip, 0x800, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonBackPic_Marshtomp, 0x800, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonBackPic_Swampert, 0x800, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonBackPic_Poochyena, 0x800, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonBackPic_Mightyena, 0x800, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonBackPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonBackPic_Linoone, 0x800, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonBackPic_Wurmple, 0x800, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonBackPic_Silcoon, 0x800, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonBackPic_Beautifly, 0x800, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonBackPic_Cascoon, 0x800, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonBackPic_Dustox, 0x800, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonBackPic_Lotad, 0x800, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonBackPic_Lombre, 0x800, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonBackPic_Ludicolo, 0x800, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonBackPic_Seedot, 0x800, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonBackPic_Nuzleaf, 0x800, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonBackPic_Shiftry, 0x800, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonBackPic_Nincada, 0x800, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonBackPic_Ninjask, 0x800, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonBackPic_Shedinja, 0x800, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonBackPic_Taillow, 0x800, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonBackPic_Swellow, 0x800, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonBackPic_Shroomish, 0x800, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonBackPic_Breloom, 0x800, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonBackPic_Spinda, 0x800, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonBackPic_Wingull, 0x800, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonBackPic_Pelipper, 0x800, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonBackPic_Surskit, 0x800, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonBackPic_Masquerain, 0x800, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonBackPic_Wailmer, 0x800, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonBackPic_Wailord, 0x800, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonBackPic_Skitty, 0x800, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonBackPic_Delcatty, 0x800, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonBackPic_Kecleon, 0x800, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonBackPic_Baltoy, 0x800, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonBackPic_Claydol, 0x800, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonBackPic_Nosepass, 0x800, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonBackPic_Torkoal, 0x800, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonBackPic_Sableye, 0x800, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonBackPic_Barboach, 0x800, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonBackPic_Whiscash, 0x800, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonBackPic_Luvdisc, 0x800, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonBackPic_Corphish, 0x800, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonBackPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonBackPic_Feebas, 0x800, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonBackPic_Milotic, 0x800, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonBackPic_Carvanha, 0x800, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonBackPic_Sharpedo, 0x800, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonBackPic_Trapinch, 0x800, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonBackPic_Vibrava, 0x800, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonBackPic_Flygon, 0x800, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonBackPic_Makuhita, 0x800, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonBackPic_Hariyama, 0x800, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonBackPic_Electrike, 0x800, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonBackPic_Manectric, 0x800, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonBackPic_Numel, 0x800, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonBackPic_Camerupt, 0x800, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonBackPic_Spheal, 0x800, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonBackPic_Sealeo, 0x800, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonBackPic_Walrein, 0x800, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonBackPic_Cacnea, 0x800, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonBackPic_Cacturne, 0x800, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonBackPic_Snorunt, 0x800, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonBackPic_Glalie, 0x800, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonBackPic_Lunatone, 0x800, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonBackPic_Solrock, 0x800, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonBackPic_Azurill, 0x800, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonBackPic_Spoink, 0x800, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonBackPic_Grumpig, 0x800, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonBackPic_Plusle, 0x800, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonBackPic_Minun, 0x800, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonBackPic_Mawile, 0x800, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonBackPic_Meditite, 0x800, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonBackPic_Medicham, 0x800, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonBackPic_Swablu, 0x800, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonBackPic_Altaria, 0x800, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonBackPic_Wynaut, 0x800, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonBackPic_Duskull, 0x800, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonBackPic_Dusclops, 0x800, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonBackPic_Roselia, 0x800, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonBackPic_Slakoth, 0x800, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonBackPic_Vigoroth, 0x800, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonBackPic_Slaking, 0x800, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonBackPic_Gulpin, 0x800, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonBackPic_Swalot, 0x800, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonBackPic_Tropius, 0x800, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonBackPic_Whismur, 0x800, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonBackPic_Loudred, 0x800, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonBackPic_Exploud, 0x800, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonBackPic_Clamperl, 0x800, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonBackPic_Huntail, 0x800, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonBackPic_Gorebyss, 0x800, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonBackPic_Absol, 0x800, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonBackPic_Shuppet, 0x800, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonBackPic_Banette, 0x800, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonBackPic_Seviper, 0x800, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonBackPic_Zangoose, 0x800, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonBackPic_Relicanth, 0x800, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonBackPic_Aron, 0x800, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonBackPic_Lairon, 0x800, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonBackPic_Aggron, 0x800, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonBackPic_Castform, 0x800, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonBackPic_Volbeat, 0x800, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonBackPic_Illumise, 0x800, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonBackPic_Lileep, 0x800, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonBackPic_Cradily, 0x800, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonBackPic_Anorith, 0x800, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonBackPic_Armaldo, 0x800, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonBackPic_Ralts, 0x800, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonBackPic_Kirlia, 0x800, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonBackPic_Gardevoir, 0x800, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonBackPic_Bagon, 0x800, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonBackPic_Shelgon, 0x800, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonBackPic_Salamence, 0x800, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonBackPic_Beldum, 0x800, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonBackPic_Metang, 0x800, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonBackPic_Metagross, 0x800, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonBackPic_Regirock, 0x800, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonBackPic_Regice, 0x800, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonBackPic_Registeel, 0x800, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonBackPic_Kyogre, 0x800, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonBackPic_Groudon, 0x800, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonBackPic_Rayquaza, 0x800, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonBackPic_Latias, 0x800, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonBackPic_Latios, 0x800, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonBackPic_Jirachi, 0x800, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonBackPic_Deoxys, 0x800, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonBackPic_Chimecho, 0x800, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonStillFrontPic_Egg, 0x800, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonBackPic_UnownB, 0x800, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonBackPic_UnownC, 0x800, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonBackPic_UnownD, 0x800, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonBackPic_UnownE, 0x800, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonBackPic_UnownF, 0x800, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonBackPic_UnownG, 0x800, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonBackPic_UnownH, 0x800, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonBackPic_UnownI, 0x800, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonBackPic_UnownJ, 0x800, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonBackPic_UnownK, 0x800, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonBackPic_UnownL, 0x800, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonBackPic_UnownM, 0x800, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonBackPic_UnownN, 0x800, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonBackPic_UnownO, 0x800, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonBackPic_UnownP, 0x800, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonBackPic_UnownQ, 0x800, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonBackPic_UnownR, 0x800, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonBackPic_UnownS, 0x800, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonBackPic_UnownT, 0x800, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonBackPic_UnownU, 0x800, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonBackPic_UnownV, 0x800, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonBackPic_UnownW, 0x800, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonBackPic_UnownX, 0x800, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonBackPic_UnownY, 0x800, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonBackPic_UnownZ, 0x800, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonBackPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonBackPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK}, + SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonBackPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonBackPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonBackPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonBackPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonBackPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonBackPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonBackPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonBackPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonBackPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonBackPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonBackPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonBackPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonBackPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonBackPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonBackPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonBackPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonBackPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonBackPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonBackPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonBackPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonBackPic_Fearow), + SPECIES_SPRITE(EKANS, gMonBackPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonBackPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonBackPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonBackPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonBackPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonBackPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonBackPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonBackPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonBackPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonBackPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonBackPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonBackPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonBackPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonBackPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonBackPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonBackPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonBackPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonBackPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonBackPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonBackPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonBackPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonBackPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonBackPic_Paras), + SPECIES_SPRITE(PARASECT, gMonBackPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonBackPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonBackPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonBackPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonBackPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonBackPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonBackPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonBackPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonBackPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonBackPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonBackPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonBackPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonBackPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonBackPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonBackPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonBackPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonBackPic_Abra), + SPECIES_SPRITE(KADABRA, gMonBackPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonBackPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonBackPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonBackPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonBackPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonBackPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonBackPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonBackPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonBackPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonBackPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonBackPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonBackPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonBackPic_Golem), + SPECIES_SPRITE(PONYTA, gMonBackPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonBackPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonBackPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonBackPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonBackPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonBackPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonBackPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonBackPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonBackPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonBackPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonBackPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonBackPic_Grimer), + SPECIES_SPRITE(MUK, gMonBackPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonBackPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonBackPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonBackPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonBackPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonBackPic_Gengar), + SPECIES_SPRITE(ONIX, gMonBackPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonBackPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonBackPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonBackPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonBackPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonBackPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonBackPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonBackPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonBackPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonBackPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonBackPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonBackPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonBackPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonBackPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonBackPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonBackPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonBackPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonBackPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonBackPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonBackPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonBackPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonBackPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonBackPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonBackPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking), + SPECIES_SPRITE(STARYU, gMonBackPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther), + SPECIES_SPRITE(JYNX, gMonBackPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonBackPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonBackPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonBackPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonBackPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonBackPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonBackPic_Lapras), + SPECIES_SPRITE(DITTO, gMonBackPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonBackPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonBackPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonBackPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonBackPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonBackPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonBackPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonBackPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonBackPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonBackPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonBackPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonBackPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonBackPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonBackPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonBackPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonBackPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonBackPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonBackPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonBackPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonBackPic_Mew), + SPECIES_SPRITE(CHIKORITA, gMonBackPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonBackPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonBackPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonBackPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonBackPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonBackPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonBackPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonBackPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonBackPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonBackPic_Sentret), + SPECIES_SPRITE(FURRET, gMonBackPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonBackPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonBackPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonBackPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonBackPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonBackPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonBackPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonBackPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonBackPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonBackPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonBackPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonBackPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonBackPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonBackPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonBackPic_Togetic), + SPECIES_SPRITE(NATU, gMonBackPic_Natu), + SPECIES_SPRITE(XATU, gMonBackPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonBackPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonBackPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonBackPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonBackPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonBackPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonBackPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonBackPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonBackPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonBackPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonBackPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonBackPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonBackPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonBackPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonBackPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonBackPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonBackPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonBackPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonBackPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonBackPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonBackPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonBackPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonBackPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonBackPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonBackPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonBackPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonBackPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonBackPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonBackPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonBackPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonBackPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonBackPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonBackPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonBackPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonBackPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonBackPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonBackPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonBackPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonBackPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonBackPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonBackPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonBackPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonBackPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonBackPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonBackPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonBackPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonBackPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonBackPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonBackPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonBackPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonBackPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonBackPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonBackPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonBackPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonBackPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonBackPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonBackPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonBackPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonBackPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonBackPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonBackPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonBackPic_Magby), + SPECIES_SPRITE(MILTANK, gMonBackPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonBackPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonBackPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonBackPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonBackPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonBackPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonBackPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonBackPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonBackPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonBackPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonBackPic_Celebi), + SPECIES_SPRITE(OLD_UNOWN_B, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonBackPic_DoubleQuestionMark), + SPECIES_SPRITE(TREECKO, gMonBackPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonBackPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonBackPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonBackPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonBackPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonBackPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonBackPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonBackPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonBackPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonBackPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonBackPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonBackPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonBackPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonBackPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonBackPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonBackPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonBackPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonBackPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonBackPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonBackPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonBackPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonBackPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonBackPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonBackPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonBackPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonBackPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonBackPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonBackPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonBackPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonBackPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonBackPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonBackPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonBackPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonBackPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonBackPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonBackPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonBackPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonBackPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonBackPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonBackPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonBackPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonBackPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonBackPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonBackPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonBackPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonBackPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonBackPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonBackPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonBackPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonBackPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonBackPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonBackPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonBackPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonBackPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonBackPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonBackPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonBackPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonBackPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonBackPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonBackPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonBackPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonBackPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonBackPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonBackPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonBackPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonBackPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonBackPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonBackPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonBackPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonBackPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonBackPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonBackPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonBackPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonBackPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonBackPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonBackPic_Plusle), + SPECIES_SPRITE(MINUN, gMonBackPic_Minun), + SPECIES_SPRITE(MAWILE, gMonBackPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonBackPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonBackPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonBackPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonBackPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonBackPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonBackPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonBackPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonBackPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonBackPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonBackPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonBackPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonBackPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonBackPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonBackPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonBackPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonBackPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonBackPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonBackPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonBackPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonBackPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonBackPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonBackPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonBackPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonBackPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonBackPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonBackPic_Relicanth), + SPECIES_SPRITE(ARON, gMonBackPic_Aron), + SPECIES_SPRITE(LAIRON, gMonBackPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonBackPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonBackPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonBackPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonBackPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonBackPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonBackPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonBackPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonBackPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonBackPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonBackPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonBackPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonBackPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonBackPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonBackPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonBackPic_Beldum), + SPECIES_SPRITE(METANG, gMonBackPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonBackPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonBackPic_Regirock), + SPECIES_SPRITE(REGICE, gMonBackPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonBackPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonBackPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonBackPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonBackPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonBackPic_Latias), + SPECIES_SPRITE(LATIOS, gMonBackPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho), + SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonBackPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonBackPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonBackPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonBackPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonBackPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonBackPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonBackPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonBackPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonBackPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonBackPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonBackPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonBackPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonBackPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonBackPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonBackPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonBackPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonBackPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonBackPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonBackPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonBackPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonBackPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark), }; - diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index c8f079a5c..f3d81d27e 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -1,415 +1,62 @@ -#include "constants/species.h" - // This determines how much higher above the usual position the enemy Pokémon // is during battle. Species that float or fly have nonzero values. -const u8 gEnemyMonElevation[] = +const u8 gEnemyMonElevation[NUM_SPECIES] = { - [SPECIES_NONE] = 0, - [SPECIES_BULBASAUR] = 0, - [SPECIES_IVYSAUR] = 0, - [SPECIES_VENUSAUR] = 0, - [SPECIES_CHARMANDER] = 0, - [SPECIES_CHARMELEON] = 0, - [SPECIES_CHARIZARD] = 0, - [SPECIES_SQUIRTLE] = 0, - [SPECIES_WARTORTLE] = 0, - [SPECIES_BLASTOISE] = 0, - [SPECIES_CATERPIE] = 0, - [SPECIES_METAPOD] = 0, [SPECIES_BUTTERFREE] = 8, - [SPECIES_WEEDLE] = 0, - [SPECIES_KAKUNA] = 0, [SPECIES_BEEDRILL] = 8, [SPECIES_PIDGEY] = 16, - [SPECIES_PIDGEOTTO] = 0, [SPECIES_PIDGEOT] = 4, - [SPECIES_RATTATA] = 0, - [SPECIES_RATICATE] = 0, - [SPECIES_SPEAROW] = 0, [SPECIES_FEAROW] = 6, - [SPECIES_EKANS] = 0, - [SPECIES_ARBOK] = 0, - [SPECIES_PIKACHU] = 0, - [SPECIES_RAICHU] = 0, - [SPECIES_SANDSHREW] = 0, - [SPECIES_SANDSLASH] = 0, - [SPECIES_NIDORAN_F] = 0, - [SPECIES_NIDORINA] = 0, - [SPECIES_NIDOQUEEN] = 0, - [SPECIES_NIDORAN_M] = 0, - [SPECIES_NIDORINO] = 0, - [SPECIES_NIDOKING] = 0, - [SPECIES_CLEFAIRY] = 0, - [SPECIES_CLEFABLE] = 0, - [SPECIES_VULPIX] = 0, - [SPECIES_NINETALES] = 0, - [SPECIES_JIGGLYPUFF] = 0, - [SPECIES_WIGGLYTUFF] = 0, [SPECIES_ZUBAT] = 8, [SPECIES_GOLBAT] = 8, - [SPECIES_ODDISH] = 0, - [SPECIES_GLOOM] = 0, - [SPECIES_VILEPLUME] = 0, - [SPECIES_PARAS] = 0, - [SPECIES_PARASECT] = 0, - [SPECIES_VENONAT] = 0, [SPECIES_VENOMOTH] = 8, - [SPECIES_DIGLETT] = 0, - [SPECIES_DUGTRIO] = 0, - [SPECIES_MEOWTH] = 0, - [SPECIES_PERSIAN] = 0, - [SPECIES_PSYDUCK] = 0, - [SPECIES_GOLDUCK] = 0, - [SPECIES_MANKEY] = 0, - [SPECIES_PRIMEAPE] = 0, - [SPECIES_GROWLITHE] = 0, - [SPECIES_ARCANINE] = 0, - [SPECIES_POLIWAG] = 0, - [SPECIES_POLIWHIRL] = 0, - [SPECIES_POLIWRATH] = 0, - [SPECIES_ABRA] = 0, - [SPECIES_KADABRA] = 0, - [SPECIES_ALAKAZAM] = 0, - [SPECIES_MACHOP] = 0, - [SPECIES_MACHOKE] = 0, - [SPECIES_MACHAMP] = 0, - [SPECIES_BELLSPROUT] = 0, - [SPECIES_WEEPINBELL] = 0, - [SPECIES_VICTREEBEL] = 0, - [SPECIES_TENTACOOL] = 0, - [SPECIES_TENTACRUEL] = 0, [SPECIES_GEODUDE] = 16, - [SPECIES_GRAVELER] = 0, - [SPECIES_GOLEM] = 0, - [SPECIES_PONYTA] = 0, - [SPECIES_RAPIDASH] = 0, - [SPECIES_SLOWPOKE] = 0, - [SPECIES_SLOWBRO] = 0, [SPECIES_MAGNEMITE] = 16, [SPECIES_MAGNETON] = 8, - [SPECIES_FARFETCHD] = 0, - [SPECIES_DODUO] = 0, - [SPECIES_DODRIO] = 0, - [SPECIES_SEEL] = 0, - [SPECIES_DEWGONG] = 0, - [SPECIES_GRIMER] = 0, - [SPECIES_MUK] = 0, - [SPECIES_SHELLDER] = 0, - [SPECIES_CLOYSTER] = 0, [SPECIES_GASTLY] = 4, [SPECIES_HAUNTER] = 4, - [SPECIES_GENGAR] = 0, - [SPECIES_ONIX] = 0, - [SPECIES_DROWZEE] = 0, - [SPECIES_HYPNO] = 0, - [SPECIES_KRABBY] = 0, - [SPECIES_KINGLER] = 0, [SPECIES_VOLTORB] = 10, [SPECIES_ELECTRODE] = 12, - [SPECIES_EXEGGCUTE] = 0, - [SPECIES_EXEGGUTOR] = 0, - [SPECIES_CUBONE] = 0, - [SPECIES_MAROWAK] = 0, - [SPECIES_HITMONLEE] = 0, - [SPECIES_HITMONCHAN] = 0, - [SPECIES_LICKITUNG] = 0, [SPECIES_KOFFING] = 8, [SPECIES_WEEZING] = 6, - [SPECIES_RHYHORN] = 0, - [SPECIES_RHYDON] = 0, - [SPECIES_CHANSEY] = 0, - [SPECIES_TANGELA] = 0, - [SPECIES_KANGASKHAN] = 0, - [SPECIES_HORSEA] = 0, - [SPECIES_SEADRA] = 0, - [SPECIES_GOLDEEN] = 0, - [SPECIES_SEAKING] = 0, - [SPECIES_STARYU] = 0, - [SPECIES_STARMIE] = 0, - [SPECIES_MR_MIME] = 0, - [SPECIES_SCYTHER] = 0, - [SPECIES_JYNX] = 0, - [SPECIES_ELECTABUZZ] = 0, - [SPECIES_MAGMAR] = 0, - [SPECIES_PINSIR] = 0, - [SPECIES_TAUROS] = 0, - [SPECIES_MAGIKARP] = 0, - [SPECIES_GYARADOS] = 0, - [SPECIES_LAPRAS] = 0, - [SPECIES_DITTO] = 0, - [SPECIES_EEVEE] = 0, - [SPECIES_VAPOREON] = 0, - [SPECIES_JOLTEON] = 0, - [SPECIES_FLAREON] = 0, - [SPECIES_PORYGON] = 0, - [SPECIES_OMANYTE] = 0, - [SPECIES_OMASTAR] = 0, - [SPECIES_KABUTO] = 0, - [SPECIES_KABUTOPS] = 0, [SPECIES_AERODACTYL] = 7, - [SPECIES_SNORLAX] = 0, [SPECIES_ARTICUNO] = 6, [SPECIES_ZAPDOS] = 8, [SPECIES_MOLTRES] = 5, - [SPECIES_DRATINI] = 0, - [SPECIES_DRAGONAIR] = 0, [SPECIES_DRAGONITE] = 6, - [SPECIES_MEWTWO] = 0, [SPECIES_MEW] = 8, - [SPECIES_CHIKORITA] = 0, - [SPECIES_BAYLEEF] = 0, - [SPECIES_MEGANIUM] = 0, - [SPECIES_CYNDAQUIL] = 0, - [SPECIES_QUILAVA] = 0, - [SPECIES_TYPHLOSION] = 0, - [SPECIES_TOTODILE] = 0, - [SPECIES_CROCONAW] = 0, - [SPECIES_FERALIGATR] = 0, - [SPECIES_SENTRET] = 0, - [SPECIES_FURRET] = 0, - [SPECIES_HOOTHOOT] = 0, - [SPECIES_NOCTOWL] = 0, - [SPECIES_LEDYBA] = 0, [SPECIES_LEDIAN] = 8, - [SPECIES_SPINARAK] = 0, - [SPECIES_ARIADOS] = 0, [SPECIES_CROBAT] = 6, - [SPECIES_CHINCHOU] = 0, - [SPECIES_LANTURN] = 0, - [SPECIES_PICHU] = 0, - [SPECIES_CLEFFA] = 0, - [SPECIES_IGGLYBUFF] = 0, - [SPECIES_TOGEPI] = 0, - [SPECIES_TOGETIC] = 0, - [SPECIES_NATU] = 0, - [SPECIES_XATU] = 0, - [SPECIES_MAREEP] = 0, - [SPECIES_FLAAFFY] = 0, - [SPECIES_AMPHAROS] = 0, - [SPECIES_BELLOSSOM] = 0, - [SPECIES_MARILL] = 0, - [SPECIES_AZUMARILL] = 0, - [SPECIES_SUDOWOODO] = 0, - [SPECIES_POLITOED] = 0, [SPECIES_HOPPIP] = 11, [SPECIES_SKIPLOOM] = 12, [SPECIES_JUMPLUFF] = 9, - [SPECIES_AIPOM] = 0, - [SPECIES_SUNKERN] = 0, - [SPECIES_SUNFLORA] = 0, [SPECIES_YANMA] = 8, - [SPECIES_WOOPER] = 0, - [SPECIES_QUAGSIRE] = 0, - [SPECIES_ESPEON] = 0, - [SPECIES_UMBREON] = 0, - [SPECIES_MURKROW] = 0, - [SPECIES_SLOWKING] = 0, [SPECIES_MISDREAVUS] = 8, [SPECIES_UNOWN] = 8, - [SPECIES_WOBBUFFET] = 0, - [SPECIES_GIRAFARIG] = 0, - [SPECIES_PINECO] = 0, - [SPECIES_FORRETRESS] = 0, - [SPECIES_DUNSPARCE] = 0, [SPECIES_GLIGAR] = 6, - [SPECIES_STEELIX] = 0, - [SPECIES_SNUBBULL] = 0, - [SPECIES_GRANBULL] = 0, - [SPECIES_QWILFISH] = 0, - [SPECIES_SCIZOR] = 0, - [SPECIES_SHUCKLE] = 0, - [SPECIES_HERACROSS] = 0, - [SPECIES_SNEASEL] = 0, - [SPECIES_TEDDIURSA] = 0, - [SPECIES_URSARING] = 0, - [SPECIES_SLUGMA] = 0, - [SPECIES_MAGCARGO] = 0, - [SPECIES_SWINUB] = 0, - [SPECIES_PILOSWINE] = 0, - [SPECIES_CORSOLA] = 0, - [SPECIES_REMORAID] = 0, - [SPECIES_OCTILLERY] = 0, - [SPECIES_DELIBIRD] = 0, - [SPECIES_MANTINE] = 0, - [SPECIES_SKARMORY] = 0, - [SPECIES_HOUNDOUR] = 0, - [SPECIES_HOUNDOOM] = 0, - [SPECIES_KINGDRA] = 0, - [SPECIES_PHANPY] = 0, - [SPECIES_DONPHAN] = 0, - [SPECIES_PORYGON2] = 0, - [SPECIES_STANTLER] = 0, - [SPECIES_SMEARGLE] = 0, - [SPECIES_TYROGUE] = 0, - [SPECIES_HITMONTOP] = 0, - [SPECIES_SMOOCHUM] = 0, - [SPECIES_ELEKID] = 0, - [SPECIES_MAGBY] = 0, - [SPECIES_MILTANK] = 0, - [SPECIES_BLISSEY] = 0, - [SPECIES_RAIKOU] = 0, - [SPECIES_ENTEI] = 0, - [SPECIES_SUICUNE] = 0, - [SPECIES_LARVITAR] = 0, - [SPECIES_PUPITAR] = 0, - [SPECIES_TYRANITAR] = 0, [SPECIES_LUGIA] = 6, [SPECIES_HO_OH] = 6, [SPECIES_CELEBI] = 15, - [SPECIES_OLD_UNOWN_B] = 0, - [SPECIES_OLD_UNOWN_C] = 0, - [SPECIES_OLD_UNOWN_D] = 0, - [SPECIES_OLD_UNOWN_E] = 0, - [SPECIES_OLD_UNOWN_F] = 0, - [SPECIES_OLD_UNOWN_G] = 0, - [SPECIES_OLD_UNOWN_H] = 0, - [SPECIES_OLD_UNOWN_I] = 0, - [SPECIES_OLD_UNOWN_J] = 0, - [SPECIES_OLD_UNOWN_K] = 0, - [SPECIES_OLD_UNOWN_L] = 0, - [SPECIES_OLD_UNOWN_M] = 0, - [SPECIES_OLD_UNOWN_N] = 0, - [SPECIES_OLD_UNOWN_O] = 0, - [SPECIES_OLD_UNOWN_P] = 0, - [SPECIES_OLD_UNOWN_Q] = 0, - [SPECIES_OLD_UNOWN_R] = 0, - [SPECIES_OLD_UNOWN_S] = 0, - [SPECIES_OLD_UNOWN_T] = 0, - [SPECIES_OLD_UNOWN_U] = 0, - [SPECIES_OLD_UNOWN_V] = 0, - [SPECIES_OLD_UNOWN_W] = 0, - [SPECIES_OLD_UNOWN_X] = 0, - [SPECIES_OLD_UNOWN_Y] = 0, - [SPECIES_OLD_UNOWN_Z] = 0, - [SPECIES_TREECKO] = 0, - [SPECIES_GROVYLE] = 0, - [SPECIES_SCEPTILE] = 0, - [SPECIES_TORCHIC] = 0, - [SPECIES_COMBUSKEN] = 0, - [SPECIES_BLAZIKEN] = 0, - [SPECIES_MUDKIP] = 0, - [SPECIES_MARSHTOMP] = 0, - [SPECIES_SWAMPERT] = 0, - [SPECIES_POOCHYENA] = 0, - [SPECIES_MIGHTYENA] = 0, - [SPECIES_ZIGZAGOON] = 0, - [SPECIES_LINOONE] = 0, - [SPECIES_WURMPLE] = 0, - [SPECIES_SILCOON] = 0, [SPECIES_BEAUTIFLY] = 8, - [SPECIES_CASCOON] = 0, [SPECIES_DUSTOX] = 10, - [SPECIES_LOTAD] = 0, - [SPECIES_LOMBRE] = 0, - [SPECIES_LUDICOLO] = 0, - [SPECIES_SEEDOT] = 0, - [SPECIES_NUZLEAF] = 0, - [SPECIES_SHIFTRY] = 0, - [SPECIES_NINCADA] = 0, [SPECIES_NINJASK] = 10, [SPECIES_SHEDINJA] = 8, - [SPECIES_TAILLOW] = 0, - [SPECIES_SWELLOW] = 0, - [SPECIES_SHROOMISH] = 0, - [SPECIES_BRELOOM] = 0, - [SPECIES_SPINDA] = 0, [SPECIES_WINGULL] = 16, [SPECIES_PELIPPER] = 8, - [SPECIES_SURSKIT] = 0, [SPECIES_MASQUERAIN] = 10, - [SPECIES_WAILMER] = 0, - [SPECIES_WAILORD] = 0, - [SPECIES_SKITTY] = 0, - [SPECIES_DELCATTY] = 0, - [SPECIES_KECLEON] = 0, [SPECIES_BALTOY] = 4, [SPECIES_CLAYDOL] = 10, - [SPECIES_NOSEPASS] = 0, - [SPECIES_TORKOAL] = 0, - [SPECIES_SABLEYE] = 0, - [SPECIES_BARBOACH] = 0, - [SPECIES_WHISCASH] = 0, - [SPECIES_LUVDISC] = 0, - [SPECIES_CORPHISH] = 0, - [SPECIES_CRAWDAUNT] = 0, - [SPECIES_FEEBAS] = 0, - [SPECIES_MILOTIC] = 0, - [SPECIES_CARVANHA] = 0, - [SPECIES_SHARPEDO] = 0, - [SPECIES_TRAPINCH] = 0, - [SPECIES_VIBRAVA] = 0, [SPECIES_FLYGON] = 7, - [SPECIES_MAKUHITA] = 0, - [SPECIES_HARIYAMA] = 0, - [SPECIES_ELECTRIKE] = 0, - [SPECIES_MANECTRIC] = 0, - [SPECIES_NUMEL] = 0, - [SPECIES_CAMERUPT] = 0, - [SPECIES_SPHEAL] = 0, - [SPECIES_SEALEO] = 0, - [SPECIES_WALREIN] = 0, - [SPECIES_CACNEA] = 0, - [SPECIES_CACTURNE] = 0, - [SPECIES_SNORUNT] = 0, [SPECIES_GLALIE] = 12, [SPECIES_LUNATONE] = 13, [SPECIES_SOLROCK] = 4, - [SPECIES_AZURILL] = 0, - [SPECIES_SPOINK] = 0, - [SPECIES_GRUMPIG] = 0, - [SPECIES_PLUSLE] = 0, - [SPECIES_MINUN] = 0, - [SPECIES_MAWILE] = 0, - [SPECIES_MEDITITE] = 0, - [SPECIES_MEDICHAM] = 0, [SPECIES_SWABLU] = 12, [SPECIES_ALTARIA] = 8, - [SPECIES_WYNAUT] = 0, [SPECIES_DUSKULL] = 9, - [SPECIES_DUSCLOPS] = 0, - [SPECIES_ROSELIA] = 0, - [SPECIES_SLAKOTH] = 0, - [SPECIES_VIGOROTH] = 0, - [SPECIES_SLAKING] = 0, - [SPECIES_GULPIN] = 0, - [SPECIES_SWALOT] = 0, - [SPECIES_TROPIUS] = 0, - [SPECIES_WHISMUR] = 0, - [SPECIES_LOUDRED] = 0, - [SPECIES_EXPLOUD] = 0, - [SPECIES_CLAMPERL] = 0, - [SPECIES_HUNTAIL] = 0, - [SPECIES_GOREBYSS] = 0, - [SPECIES_ABSOL] = 0, [SPECIES_SHUPPET] = 12, [SPECIES_BANETTE] = 8, - [SPECIES_SEVIPER] = 0, - [SPECIES_ZANGOOSE] = 0, - [SPECIES_RELICANTH] = 0, - [SPECIES_ARON] = 0, - [SPECIES_LAIRON] = 0, - [SPECIES_AGGRON] = 0, [SPECIES_CASTFORM] = 16, - [SPECIES_VOLBEAT] = 0, - [SPECIES_ILLUMISE] = 0, - [SPECIES_LILEEP] = 0, - [SPECIES_CRADILY] = 0, - [SPECIES_ANORITH] = 0, - [SPECIES_ARMALDO] = 0, - [SPECIES_RALTS] = 0, - [SPECIES_KIRLIA] = 0, - [SPECIES_GARDEVOIR] = 0, - [SPECIES_BAGON] = 0, - [SPECIES_SHELGON] = 0, - [SPECIES_SALAMENCE] = 0, [SPECIES_BELDUM] = 8, - [SPECIES_METANG] = 0, - [SPECIES_METAGROSS] = 0, - [SPECIES_REGIROCK] = 0, - [SPECIES_REGICE] = 0, - [SPECIES_REGISTEEL] = 0, - [SPECIES_KYOGRE] = 0, - [SPECIES_GROUDON] = 0, [SPECIES_RAYQUAZA] = 6, [SPECIES_LATIAS] = 6, [SPECIES_LATIOS] = 6, diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index 779ce3dcd..86ca06790 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -1,416 +1,416 @@ const u8 *const gMonFootprintTable[] = { - gMonFootprint_Bulbasaur, - gMonFootprint_Bulbasaur, - gMonFootprint_Ivysaur, - gMonFootprint_Venusaur, - gMonFootprint_Charmander, - gMonFootprint_Charmeleon, - gMonFootprint_Charizard, - gMonFootprint_Squirtle, - gMonFootprint_Wartortle, - gMonFootprint_Blastoise, - gMonFootprint_Caterpie, - gMonFootprint_Metapod, - gMonFootprint_Butterfree, - gMonFootprint_Weedle, - gMonFootprint_Kakuna, - gMonFootprint_Beedrill, - gMonFootprint_Pidgey, - gMonFootprint_Pidgeotto, - gMonFootprint_Pidgeot, - gMonFootprint_Rattata, - gMonFootprint_Raticate, - gMonFootprint_Spearow, - gMonFootprint_Fearow, - gMonFootprint_Ekans, - gMonFootprint_Arbok, - gMonFootprint_Pikachu, - gMonFootprint_Raichu, - gMonFootprint_Sandshrew, - gMonFootprint_Sandslash, - gMonFootprint_NidoranF, - gMonFootprint_Nidorina, - gMonFootprint_Nidoqueen, - gMonFootprint_NidoranM, - gMonFootprint_Nidorino, - gMonFootprint_Nidoking, - gMonFootprint_Clefairy, - gMonFootprint_Clefable, - gMonFootprint_Vulpix, - gMonFootprint_Ninetales, - gMonFootprint_Jigglypuff, - gMonFootprint_Wigglytuff, - gMonFootprint_Zubat, - gMonFootprint_Golbat, - gMonFootprint_Oddish, - gMonFootprint_Gloom, - gMonFootprint_Vileplume, - gMonFootprint_Paras, - gMonFootprint_Parasect, - gMonFootprint_Venonat, - gMonFootprint_Venomoth, - gMonFootprint_Diglett, - gMonFootprint_Dugtrio, - gMonFootprint_Meowth, - gMonFootprint_Persian, - gMonFootprint_Psyduck, - gMonFootprint_Golduck, - gMonFootprint_Mankey, - gMonFootprint_Primeape, - gMonFootprint_Growlithe, - gMonFootprint_Arcanine, - gMonFootprint_Poliwag, - gMonFootprint_Poliwhirl, - gMonFootprint_Poliwrath, - gMonFootprint_Abra, - gMonFootprint_Kadabra, - gMonFootprint_Alakazam, - gMonFootprint_Machop, - gMonFootprint_Machoke, - gMonFootprint_Machamp, - gMonFootprint_Bellsprout, - gMonFootprint_Weepinbell, - gMonFootprint_Victreebel, - gMonFootprint_Tentacool, - gMonFootprint_Tentacruel, - gMonFootprint_Geodude, - gMonFootprint_Graveler, - gMonFootprint_Golem, - gMonFootprint_Ponyta, - gMonFootprint_Rapidash, - gMonFootprint_Slowpoke, - gMonFootprint_Slowbro, - gMonFootprint_Magnemite, - gMonFootprint_Magneton, - gMonFootprint_Farfetchd, - gMonFootprint_Doduo, - gMonFootprint_Dodrio, - gMonFootprint_Seel, - gMonFootprint_Dewgong, - gMonFootprint_Grimer, - gMonFootprint_Muk, - gMonFootprint_Shellder, - gMonFootprint_Cloyster, - gMonFootprint_Gastly, - gMonFootprint_Haunter, - gMonFootprint_Gengar, - gMonFootprint_Onix, - gMonFootprint_Drowzee, - gMonFootprint_Hypno, - gMonFootprint_Krabby, - gMonFootprint_Kingler, - gMonFootprint_Voltorb, - gMonFootprint_Electrode, - gMonFootprint_Exeggcute, - gMonFootprint_Exeggutor, - gMonFootprint_Cubone, - gMonFootprint_Marowak, - gMonFootprint_Hitmonlee, - gMonFootprint_Hitmonchan, - gMonFootprint_Lickitung, - gMonFootprint_Koffing, - gMonFootprint_Weezing, - gMonFootprint_Rhyhorn, - gMonFootprint_Rhydon, - gMonFootprint_Chansey, - gMonFootprint_Tangela, - gMonFootprint_Kangaskhan, - gMonFootprint_Horsea, - gMonFootprint_Seadra, - gMonFootprint_Goldeen, - gMonFootprint_Seaking, - gMonFootprint_Staryu, - gMonFootprint_Starmie, - gMonFootprint_Mrmime, - gMonFootprint_Scyther, - gMonFootprint_Jynx, - gMonFootprint_Electabuzz, - gMonFootprint_Magmar, - gMonFootprint_Pinsir, - gMonFootprint_Tauros, - gMonFootprint_Magikarp, - gMonFootprint_Gyarados, - gMonFootprint_Lapras, - gMonFootprint_Ditto, - gMonFootprint_Eevee, - gMonFootprint_Vaporeon, - gMonFootprint_Jolteon, - gMonFootprint_Flareon, - gMonFootprint_Porygon, - gMonFootprint_Omanyte, - gMonFootprint_Omastar, - gMonFootprint_Kabuto, - gMonFootprint_Kabutops, - gMonFootprint_Aerodactyl, - gMonFootprint_Snorlax, - gMonFootprint_Articuno, - gMonFootprint_Zapdos, - gMonFootprint_Moltres, - gMonFootprint_Dratini, - gMonFootprint_Dragonair, - gMonFootprint_Dragonite, - gMonFootprint_Mewtwo, - gMonFootprint_Mew, - gMonFootprint_Chikorita, - gMonFootprint_Bayleef, - gMonFootprint_Meganium, - gMonFootprint_Cyndaquil, - gMonFootprint_Quilava, - gMonFootprint_Typhlosion, - gMonFootprint_Totodile, - gMonFootprint_Croconaw, - gMonFootprint_Feraligatr, - gMonFootprint_Sentret, - gMonFootprint_Furret, - gMonFootprint_Hoothoot, - gMonFootprint_Noctowl, - gMonFootprint_Ledyba, - gMonFootprint_Ledian, - gMonFootprint_Spinarak, - gMonFootprint_Ariados, - gMonFootprint_Crobat, - gMonFootprint_Chinchou, - gMonFootprint_Lanturn, - gMonFootprint_Pichu, - gMonFootprint_Cleffa, - gMonFootprint_Igglybuff, - gMonFootprint_Togepi, - gMonFootprint_Togetic, - gMonFootprint_Natu, - gMonFootprint_Xatu, - gMonFootprint_Mareep, - gMonFootprint_Flaaffy, - gMonFootprint_Ampharos, - gMonFootprint_Bellossom, - gMonFootprint_Marill, - gMonFootprint_Azumarill, - gMonFootprint_Sudowoodo, - gMonFootprint_Politoed, - gMonFootprint_Hoppip, - gMonFootprint_Skiploom, - gMonFootprint_Jumpluff, - gMonFootprint_Aipom, - gMonFootprint_Sunkern, - gMonFootprint_Sunflora, - gMonFootprint_Yanma, - gMonFootprint_Wooper, - gMonFootprint_Quagsire, - gMonFootprint_Espeon, - gMonFootprint_Umbreon, - gMonFootprint_Murkrow, - gMonFootprint_Slowking, - gMonFootprint_Misdreavus, - gMonFootprint_Unown, - gMonFootprint_Wobbuffet, - gMonFootprint_Girafarig, - gMonFootprint_Pineco, - gMonFootprint_Forretress, - gMonFootprint_Dunsparce, - gMonFootprint_Gligar, - gMonFootprint_Steelix, - gMonFootprint_Snubbull, - gMonFootprint_Granbull, - gMonFootprint_Qwilfish, - gMonFootprint_Scizor, - gMonFootprint_Shuckle, - gMonFootprint_Heracross, - gMonFootprint_Sneasel, - gMonFootprint_Teddiursa, - gMonFootprint_Ursaring, - gMonFootprint_Slugma, - gMonFootprint_Magcargo, - gMonFootprint_Swinub, - gMonFootprint_Piloswine, - gMonFootprint_Corsola, - gMonFootprint_Remoraid, - gMonFootprint_Octillery, - gMonFootprint_Delibird, - gMonFootprint_Mantine, - gMonFootprint_Skarmory, - gMonFootprint_Houndour, - gMonFootprint_Houndoom, - gMonFootprint_Kingdra, - gMonFootprint_Phanpy, - gMonFootprint_Donphan, - gMonFootprint_Porygon2, - gMonFootprint_Stantler, - gMonFootprint_Smeargle, - gMonFootprint_Tyrogue, - gMonFootprint_Hitmontop, - gMonFootprint_Smoochum, - gMonFootprint_Elekid, - gMonFootprint_Magby, - gMonFootprint_Miltank, - gMonFootprint_Blissey, - gMonFootprint_Raikou, - gMonFootprint_Entei, - gMonFootprint_Suicune, - gMonFootprint_Larvitar, - gMonFootprint_Pupitar, - gMonFootprint_Tyranitar, - gMonFootprint_Lugia, - gMonFootprint_HoOh, - gMonFootprint_Celebi, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_QuestionMark, - gMonFootprint_Treecko, - gMonFootprint_Grovyle, - gMonFootprint_Sceptile, - gMonFootprint_Torchic, - gMonFootprint_Combusken, - gMonFootprint_Blaziken, - gMonFootprint_Mudkip, - gMonFootprint_Marshtomp, - gMonFootprint_Swampert, - gMonFootprint_Poochyena, - gMonFootprint_Mightyena, - gMonFootprint_Zigzagoon, - gMonFootprint_Linoone, - gMonFootprint_Wurmple, - gMonFootprint_Silcoon, - gMonFootprint_Beautifly, - gMonFootprint_Cascoon, - gMonFootprint_Dustox, - gMonFootprint_Lotad, - gMonFootprint_Lombre, - gMonFootprint_Ludicolo, - gMonFootprint_Seedot, - gMonFootprint_Nuzleaf, - gMonFootprint_Shiftry, - gMonFootprint_Nincada, - gMonFootprint_Ninjask, - gMonFootprint_Shedinja, - gMonFootprint_Taillow, - gMonFootprint_Swellow, - gMonFootprint_Shroomish, - gMonFootprint_Breloom, - gMonFootprint_Spinda, - gMonFootprint_Wingull, - gMonFootprint_Pelipper, - gMonFootprint_Surskit, - gMonFootprint_Masquerain, - gMonFootprint_Wailmer, - gMonFootprint_Wailord, - gMonFootprint_Skitty, - gMonFootprint_Delcatty, - gMonFootprint_Kecleon, - gMonFootprint_Baltoy, - gMonFootprint_Claydol, - gMonFootprint_Nosepass, - gMonFootprint_Torkoal, - gMonFootprint_Sableye, - gMonFootprint_Barboach, - gMonFootprint_Whiscash, - gMonFootprint_Luvdisc, - gMonFootprint_Corphish, - gMonFootprint_Crawdaunt, - gMonFootprint_Feebas, - gMonFootprint_Milotic, - gMonFootprint_Carvanha, - gMonFootprint_Sharpedo, - gMonFootprint_Trapinch, - gMonFootprint_Vibrava, - gMonFootprint_Flygon, - gMonFootprint_Makuhita, - gMonFootprint_Hariyama, - gMonFootprint_Electrike, - gMonFootprint_Manectric, - gMonFootprint_Numel, - gMonFootprint_Camerupt, - gMonFootprint_Spheal, - gMonFootprint_Sealeo, - gMonFootprint_Walrein, - gMonFootprint_Cacnea, - gMonFootprint_Cacturne, - gMonFootprint_Snorunt, - gMonFootprint_Glalie, - gMonFootprint_Lunatone, - gMonFootprint_Solrock, - gMonFootprint_Azurill, - gMonFootprint_Spoink, - gMonFootprint_Grumpig, - gMonFootprint_Plusle, - gMonFootprint_Minun, - gMonFootprint_Mawile, - gMonFootprint_Meditite, - gMonFootprint_Medicham, - gMonFootprint_Swablu, - gMonFootprint_Altaria, - gMonFootprint_Wynaut, - gMonFootprint_Duskull, - gMonFootprint_Dusclops, - gMonFootprint_Roselia, - gMonFootprint_Slakoth, - gMonFootprint_Vigoroth, - gMonFootprint_Slaking, - gMonFootprint_Gulpin, - gMonFootprint_Swalot, - gMonFootprint_Tropius, - gMonFootprint_Whismur, - gMonFootprint_Loudred, - gMonFootprint_Exploud, - gMonFootprint_Clamperl, - gMonFootprint_Huntail, - gMonFootprint_Gorebyss, - gMonFootprint_Absol, - gMonFootprint_Shuppet, - gMonFootprint_Banette, - gMonFootprint_Seviper, - gMonFootprint_Zangoose, - gMonFootprint_Relicanth, - gMonFootprint_Aron, - gMonFootprint_Lairon, - gMonFootprint_Aggron, - gMonFootprint_Castform, - gMonFootprint_Volbeat, - gMonFootprint_Illumise, - gMonFootprint_Lileep, - gMonFootprint_Cradily, - gMonFootprint_Anorith, - gMonFootprint_Armaldo, - gMonFootprint_Ralts, - gMonFootprint_Kirlia, - gMonFootprint_Gardevoir, - gMonFootprint_Bagon, - gMonFootprint_Shelgon, - gMonFootprint_Salamence, - gMonFootprint_Beldum, - gMonFootprint_Metang, - gMonFootprint_Metagross, - gMonFootprint_Regirock, - gMonFootprint_Regice, - gMonFootprint_Registeel, - gMonFootprint_Kyogre, - gMonFootprint_Groudon, - gMonFootprint_Rayquaza, - gMonFootprint_Latias, - gMonFootprint_Latios, - gMonFootprint_Jirachi, - gMonFootprint_Deoxys, - gMonFootprint_Chimecho, - gMonFootprint_Bulbasaur, + [SPECIES_NONE] = gMonFootprint_Bulbasaur, + [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur, + [SPECIES_IVYSAUR] = gMonFootprint_Ivysaur, + [SPECIES_VENUSAUR] = gMonFootprint_Venusaur, + [SPECIES_CHARMANDER] = gMonFootprint_Charmander, + [SPECIES_CHARMELEON] = gMonFootprint_Charmeleon, + [SPECIES_CHARIZARD] = gMonFootprint_Charizard, + [SPECIES_SQUIRTLE] = gMonFootprint_Squirtle, + [SPECIES_WARTORTLE] = gMonFootprint_Wartortle, + [SPECIES_BLASTOISE] = gMonFootprint_Blastoise, + [SPECIES_CATERPIE] = gMonFootprint_Caterpie, + [SPECIES_METAPOD] = gMonFootprint_Metapod, + [SPECIES_BUTTERFREE] = gMonFootprint_Butterfree, + [SPECIES_WEEDLE] = gMonFootprint_Weedle, + [SPECIES_KAKUNA] = gMonFootprint_Kakuna, + [SPECIES_BEEDRILL] = gMonFootprint_Beedrill, + [SPECIES_PIDGEY] = gMonFootprint_Pidgey, + [SPECIES_PIDGEOTTO] = gMonFootprint_Pidgeotto, + [SPECIES_PIDGEOT] = gMonFootprint_Pidgeot, + [SPECIES_RATTATA] = gMonFootprint_Rattata, + [SPECIES_RATICATE] = gMonFootprint_Raticate, + [SPECIES_SPEAROW] = gMonFootprint_Spearow, + [SPECIES_FEAROW] = gMonFootprint_Fearow, + [SPECIES_EKANS] = gMonFootprint_Ekans, + [SPECIES_ARBOK] = gMonFootprint_Arbok, + [SPECIES_PIKACHU] = gMonFootprint_Pikachu, + [SPECIES_RAICHU] = gMonFootprint_Raichu, + [SPECIES_SANDSHREW] = gMonFootprint_Sandshrew, + [SPECIES_SANDSLASH] = gMonFootprint_Sandslash, + [SPECIES_NIDORAN_F] = gMonFootprint_NidoranF, + [SPECIES_NIDORINA] = gMonFootprint_Nidorina, + [SPECIES_NIDOQUEEN] = gMonFootprint_Nidoqueen, + [SPECIES_NIDORAN_M] = gMonFootprint_NidoranM, + [SPECIES_NIDORINO] = gMonFootprint_Nidorino, + [SPECIES_NIDOKING] = gMonFootprint_Nidoking, + [SPECIES_CLEFAIRY] = gMonFootprint_Clefairy, + [SPECIES_CLEFABLE] = gMonFootprint_Clefable, + [SPECIES_VULPIX] = gMonFootprint_Vulpix, + [SPECIES_NINETALES] = gMonFootprint_Ninetales, + [SPECIES_JIGGLYPUFF] = gMonFootprint_Jigglypuff, + [SPECIES_WIGGLYTUFF] = gMonFootprint_Wigglytuff, + [SPECIES_ZUBAT] = gMonFootprint_Zubat, + [SPECIES_GOLBAT] = gMonFootprint_Golbat, + [SPECIES_ODDISH] = gMonFootprint_Oddish, + [SPECIES_GLOOM] = gMonFootprint_Gloom, + [SPECIES_VILEPLUME] = gMonFootprint_Vileplume, + [SPECIES_PARAS] = gMonFootprint_Paras, + [SPECIES_PARASECT] = gMonFootprint_Parasect, + [SPECIES_VENONAT] = gMonFootprint_Venonat, + [SPECIES_VENOMOTH] = gMonFootprint_Venomoth, + [SPECIES_DIGLETT] = gMonFootprint_Diglett, + [SPECIES_DUGTRIO] = gMonFootprint_Dugtrio, + [SPECIES_MEOWTH] = gMonFootprint_Meowth, + [SPECIES_PERSIAN] = gMonFootprint_Persian, + [SPECIES_PSYDUCK] = gMonFootprint_Psyduck, + [SPECIES_GOLDUCK] = gMonFootprint_Golduck, + [SPECIES_MANKEY] = gMonFootprint_Mankey, + [SPECIES_PRIMEAPE] = gMonFootprint_Primeape, + [SPECIES_GROWLITHE] = gMonFootprint_Growlithe, + [SPECIES_ARCANINE] = gMonFootprint_Arcanine, + [SPECIES_POLIWAG] = gMonFootprint_Poliwag, + [SPECIES_POLIWHIRL] = gMonFootprint_Poliwhirl, + [SPECIES_POLIWRATH] = gMonFootprint_Poliwrath, + [SPECIES_ABRA] = gMonFootprint_Abra, + [SPECIES_KADABRA] = gMonFootprint_Kadabra, + [SPECIES_ALAKAZAM] = gMonFootprint_Alakazam, + [SPECIES_MACHOP] = gMonFootprint_Machop, + [SPECIES_MACHOKE] = gMonFootprint_Machoke, + [SPECIES_MACHAMP] = gMonFootprint_Machamp, + [SPECIES_BELLSPROUT] = gMonFootprint_Bellsprout, + [SPECIES_WEEPINBELL] = gMonFootprint_Weepinbell, + [SPECIES_VICTREEBEL] = gMonFootprint_Victreebel, + [SPECIES_TENTACOOL] = gMonFootprint_Tentacool, + [SPECIES_TENTACRUEL] = gMonFootprint_Tentacruel, + [SPECIES_GEODUDE] = gMonFootprint_Geodude, + [SPECIES_GRAVELER] = gMonFootprint_Graveler, + [SPECIES_GOLEM] = gMonFootprint_Golem, + [SPECIES_PONYTA] = gMonFootprint_Ponyta, + [SPECIES_RAPIDASH] = gMonFootprint_Rapidash, + [SPECIES_SLOWPOKE] = gMonFootprint_Slowpoke, + [SPECIES_SLOWBRO] = gMonFootprint_Slowbro, + [SPECIES_MAGNEMITE] = gMonFootprint_Magnemite, + [SPECIES_MAGNETON] = gMonFootprint_Magneton, + [SPECIES_FARFETCHD] = gMonFootprint_Farfetchd, + [SPECIES_DODUO] = gMonFootprint_Doduo, + [SPECIES_DODRIO] = gMonFootprint_Dodrio, + [SPECIES_SEEL] = gMonFootprint_Seel, + [SPECIES_DEWGONG] = gMonFootprint_Dewgong, + [SPECIES_GRIMER] = gMonFootprint_Grimer, + [SPECIES_MUK] = gMonFootprint_Muk, + [SPECIES_SHELLDER] = gMonFootprint_Shellder, + [SPECIES_CLOYSTER] = gMonFootprint_Cloyster, + [SPECIES_GASTLY] = gMonFootprint_Gastly, + [SPECIES_HAUNTER] = gMonFootprint_Haunter, + [SPECIES_GENGAR] = gMonFootprint_Gengar, + [SPECIES_ONIX] = gMonFootprint_Onix, + [SPECIES_DROWZEE] = gMonFootprint_Drowzee, + [SPECIES_HYPNO] = gMonFootprint_Hypno, + [SPECIES_KRABBY] = gMonFootprint_Krabby, + [SPECIES_KINGLER] = gMonFootprint_Kingler, + [SPECIES_VOLTORB] = gMonFootprint_Voltorb, + [SPECIES_ELECTRODE] = gMonFootprint_Electrode, + [SPECIES_EXEGGCUTE] = gMonFootprint_Exeggcute, + [SPECIES_EXEGGUTOR] = gMonFootprint_Exeggutor, + [SPECIES_CUBONE] = gMonFootprint_Cubone, + [SPECIES_MAROWAK] = gMonFootprint_Marowak, + [SPECIES_HITMONLEE] = gMonFootprint_Hitmonlee, + [SPECIES_HITMONCHAN] = gMonFootprint_Hitmonchan, + [SPECIES_LICKITUNG] = gMonFootprint_Lickitung, + [SPECIES_KOFFING] = gMonFootprint_Koffing, + [SPECIES_WEEZING] = gMonFootprint_Weezing, + [SPECIES_RHYHORN] = gMonFootprint_Rhyhorn, + [SPECIES_RHYDON] = gMonFootprint_Rhydon, + [SPECIES_CHANSEY] = gMonFootprint_Chansey, + [SPECIES_TANGELA] = gMonFootprint_Tangela, + [SPECIES_KANGASKHAN] = gMonFootprint_Kangaskhan, + [SPECIES_HORSEA] = gMonFootprint_Horsea, + [SPECIES_SEADRA] = gMonFootprint_Seadra, + [SPECIES_GOLDEEN] = gMonFootprint_Goldeen, + [SPECIES_SEAKING] = gMonFootprint_Seaking, + [SPECIES_STARYU] = gMonFootprint_Staryu, + [SPECIES_STARMIE] = gMonFootprint_Starmie, + [SPECIES_MR_MIME] = gMonFootprint_Mrmime, + [SPECIES_SCYTHER] = gMonFootprint_Scyther, + [SPECIES_JYNX] = gMonFootprint_Jynx, + [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz, + [SPECIES_MAGMAR] = gMonFootprint_Magmar, + [SPECIES_PINSIR] = gMonFootprint_Pinsir, + [SPECIES_TAUROS] = gMonFootprint_Tauros, + [SPECIES_MAGIKARP] = gMonFootprint_Magikarp, + [SPECIES_GYARADOS] = gMonFootprint_Gyarados, + [SPECIES_LAPRAS] = gMonFootprint_Lapras, + [SPECIES_DITTO] = gMonFootprint_Ditto, + [SPECIES_EEVEE] = gMonFootprint_Eevee, + [SPECIES_VAPOREON] = gMonFootprint_Vaporeon, + [SPECIES_JOLTEON] = gMonFootprint_Jolteon, + [SPECIES_FLAREON] = gMonFootprint_Flareon, + [SPECIES_PORYGON] = gMonFootprint_Porygon, + [SPECIES_OMANYTE] = gMonFootprint_Omanyte, + [SPECIES_OMASTAR] = gMonFootprint_Omastar, + [SPECIES_KABUTO] = gMonFootprint_Kabuto, + [SPECIES_KABUTOPS] = gMonFootprint_Kabutops, + [SPECIES_AERODACTYL] = gMonFootprint_Aerodactyl, + [SPECIES_SNORLAX] = gMonFootprint_Snorlax, + [SPECIES_ARTICUNO] = gMonFootprint_Articuno, + [SPECIES_ZAPDOS] = gMonFootprint_Zapdos, + [SPECIES_MOLTRES] = gMonFootprint_Moltres, + [SPECIES_DRATINI] = gMonFootprint_Dratini, + [SPECIES_DRAGONAIR] = gMonFootprint_Dragonair, + [SPECIES_DRAGONITE] = gMonFootprint_Dragonite, + [SPECIES_MEWTWO] = gMonFootprint_Mewtwo, + [SPECIES_MEW] = gMonFootprint_Mew, + [SPECIES_CHIKORITA] = gMonFootprint_Chikorita, + [SPECIES_BAYLEEF] = gMonFootprint_Bayleef, + [SPECIES_MEGANIUM] = gMonFootprint_Meganium, + [SPECIES_CYNDAQUIL] = gMonFootprint_Cyndaquil, + [SPECIES_QUILAVA] = gMonFootprint_Quilava, + [SPECIES_TYPHLOSION] = gMonFootprint_Typhlosion, + [SPECIES_TOTODILE] = gMonFootprint_Totodile, + [SPECIES_CROCONAW] = gMonFootprint_Croconaw, + [SPECIES_FERALIGATR] = gMonFootprint_Feraligatr, + [SPECIES_SENTRET] = gMonFootprint_Sentret, + [SPECIES_FURRET] = gMonFootprint_Furret, + [SPECIES_HOOTHOOT] = gMonFootprint_Hoothoot, + [SPECIES_NOCTOWL] = gMonFootprint_Noctowl, + [SPECIES_LEDYBA] = gMonFootprint_Ledyba, + [SPECIES_LEDIAN] = gMonFootprint_Ledian, + [SPECIES_SPINARAK] = gMonFootprint_Spinarak, + [SPECIES_ARIADOS] = gMonFootprint_Ariados, + [SPECIES_CROBAT] = gMonFootprint_Crobat, + [SPECIES_CHINCHOU] = gMonFootprint_Chinchou, + [SPECIES_LANTURN] = gMonFootprint_Lanturn, + [SPECIES_PICHU] = gMonFootprint_Pichu, + [SPECIES_CLEFFA] = gMonFootprint_Cleffa, + [SPECIES_IGGLYBUFF] = gMonFootprint_Igglybuff, + [SPECIES_TOGEPI] = gMonFootprint_Togepi, + [SPECIES_TOGETIC] = gMonFootprint_Togetic, + [SPECIES_NATU] = gMonFootprint_Natu, + [SPECIES_XATU] = gMonFootprint_Xatu, + [SPECIES_MAREEP] = gMonFootprint_Mareep, + [SPECIES_FLAAFFY] = gMonFootprint_Flaaffy, + [SPECIES_AMPHAROS] = gMonFootprint_Ampharos, + [SPECIES_BELLOSSOM] = gMonFootprint_Bellossom, + [SPECIES_MARILL] = gMonFootprint_Marill, + [SPECIES_AZUMARILL] = gMonFootprint_Azumarill, + [SPECIES_SUDOWOODO] = gMonFootprint_Sudowoodo, + [SPECIES_POLITOED] = gMonFootprint_Politoed, + [SPECIES_HOPPIP] = gMonFootprint_Hoppip, + [SPECIES_SKIPLOOM] = gMonFootprint_Skiploom, + [SPECIES_JUMPLUFF] = gMonFootprint_Jumpluff, + [SPECIES_AIPOM] = gMonFootprint_Aipom, + [SPECIES_SUNKERN] = gMonFootprint_Sunkern, + [SPECIES_SUNFLORA] = gMonFootprint_Sunflora, + [SPECIES_YANMA] = gMonFootprint_Yanma, + [SPECIES_WOOPER] = gMonFootprint_Wooper, + [SPECIES_QUAGSIRE] = gMonFootprint_Quagsire, + [SPECIES_ESPEON] = gMonFootprint_Espeon, + [SPECIES_UMBREON] = gMonFootprint_Umbreon, + [SPECIES_MURKROW] = gMonFootprint_Murkrow, + [SPECIES_SLOWKING] = gMonFootprint_Slowking, + [SPECIES_MISDREAVUS] = gMonFootprint_Misdreavus, + [SPECIES_UNOWN] = gMonFootprint_Unown, + [SPECIES_WOBBUFFET] = gMonFootprint_Wobbuffet, + [SPECIES_GIRAFARIG] = gMonFootprint_Girafarig, + [SPECIES_PINECO] = gMonFootprint_Pineco, + [SPECIES_FORRETRESS] = gMonFootprint_Forretress, + [SPECIES_DUNSPARCE] = gMonFootprint_Dunsparce, + [SPECIES_GLIGAR] = gMonFootprint_Gligar, + [SPECIES_STEELIX] = gMonFootprint_Steelix, + [SPECIES_SNUBBULL] = gMonFootprint_Snubbull, + [SPECIES_GRANBULL] = gMonFootprint_Granbull, + [SPECIES_QWILFISH] = gMonFootprint_Qwilfish, + [SPECIES_SCIZOR] = gMonFootprint_Scizor, + [SPECIES_SHUCKLE] = gMonFootprint_Shuckle, + [SPECIES_HERACROSS] = gMonFootprint_Heracross, + [SPECIES_SNEASEL] = gMonFootprint_Sneasel, + [SPECIES_TEDDIURSA] = gMonFootprint_Teddiursa, + [SPECIES_URSARING] = gMonFootprint_Ursaring, + [SPECIES_SLUGMA] = gMonFootprint_Slugma, + [SPECIES_MAGCARGO] = gMonFootprint_Magcargo, + [SPECIES_SWINUB] = gMonFootprint_Swinub, + [SPECIES_PILOSWINE] = gMonFootprint_Piloswine, + [SPECIES_CORSOLA] = gMonFootprint_Corsola, + [SPECIES_REMORAID] = gMonFootprint_Remoraid, + [SPECIES_OCTILLERY] = gMonFootprint_Octillery, + [SPECIES_DELIBIRD] = gMonFootprint_Delibird, + [SPECIES_MANTINE] = gMonFootprint_Mantine, + [SPECIES_SKARMORY] = gMonFootprint_Skarmory, + [SPECIES_HOUNDOUR] = gMonFootprint_Houndour, + [SPECIES_HOUNDOOM] = gMonFootprint_Houndoom, + [SPECIES_KINGDRA] = gMonFootprint_Kingdra, + [SPECIES_PHANPY] = gMonFootprint_Phanpy, + [SPECIES_DONPHAN] = gMonFootprint_Donphan, + [SPECIES_PORYGON2] = gMonFootprint_Porygon2, + [SPECIES_STANTLER] = gMonFootprint_Stantler, + [SPECIES_SMEARGLE] = gMonFootprint_Smeargle, + [SPECIES_TYROGUE] = gMonFootprint_Tyrogue, + [SPECIES_HITMONTOP] = gMonFootprint_Hitmontop, + [SPECIES_SMOOCHUM] = gMonFootprint_Smoochum, + [SPECIES_ELEKID] = gMonFootprint_Elekid, + [SPECIES_MAGBY] = gMonFootprint_Magby, + [SPECIES_MILTANK] = gMonFootprint_Miltank, + [SPECIES_BLISSEY] = gMonFootprint_Blissey, + [SPECIES_RAIKOU] = gMonFootprint_Raikou, + [SPECIES_ENTEI] = gMonFootprint_Entei, + [SPECIES_SUICUNE] = gMonFootprint_Suicune, + [SPECIES_LARVITAR] = gMonFootprint_Larvitar, + [SPECIES_PUPITAR] = gMonFootprint_Pupitar, + [SPECIES_TYRANITAR] = gMonFootprint_Tyranitar, + [SPECIES_LUGIA] = gMonFootprint_Lugia, + [SPECIES_HO_OH] = gMonFootprint_HoOh, + [SPECIES_CELEBI] = gMonFootprint_Celebi, + [SPECIES_OLD_UNOWN_B] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_C] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_D] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_E] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_F] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_G] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_H] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_I] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_J] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_K] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_L] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_M] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_N] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_O] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_P] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Q] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_R] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_S] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_T] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_U] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_V] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_W] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_X] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Y] = gMonFootprint_QuestionMark, + [SPECIES_OLD_UNOWN_Z] = gMonFootprint_QuestionMark, + [SPECIES_TREECKO] = gMonFootprint_Treecko, + [SPECIES_GROVYLE] = gMonFootprint_Grovyle, + [SPECIES_SCEPTILE] = gMonFootprint_Sceptile, + [SPECIES_TORCHIC] = gMonFootprint_Torchic, + [SPECIES_COMBUSKEN] = gMonFootprint_Combusken, + [SPECIES_BLAZIKEN] = gMonFootprint_Blaziken, + [SPECIES_MUDKIP] = gMonFootprint_Mudkip, + [SPECIES_MARSHTOMP] = gMonFootprint_Marshtomp, + [SPECIES_SWAMPERT] = gMonFootprint_Swampert, + [SPECIES_POOCHYENA] = gMonFootprint_Poochyena, + [SPECIES_MIGHTYENA] = gMonFootprint_Mightyena, + [SPECIES_ZIGZAGOON] = gMonFootprint_Zigzagoon, + [SPECIES_LINOONE] = gMonFootprint_Linoone, + [SPECIES_WURMPLE] = gMonFootprint_Wurmple, + [SPECIES_SILCOON] = gMonFootprint_Silcoon, + [SPECIES_BEAUTIFLY] = gMonFootprint_Beautifly, + [SPECIES_CASCOON] = gMonFootprint_Cascoon, + [SPECIES_DUSTOX] = gMonFootprint_Dustox, + [SPECIES_LOTAD] = gMonFootprint_Lotad, + [SPECIES_LOMBRE] = gMonFootprint_Lombre, + [SPECIES_LUDICOLO] = gMonFootprint_Ludicolo, + [SPECIES_SEEDOT] = gMonFootprint_Seedot, + [SPECIES_NUZLEAF] = gMonFootprint_Nuzleaf, + [SPECIES_SHIFTRY] = gMonFootprint_Shiftry, + [SPECIES_NINCADA] = gMonFootprint_Nincada, + [SPECIES_NINJASK] = gMonFootprint_Ninjask, + [SPECIES_SHEDINJA] = gMonFootprint_Shedinja, + [SPECIES_TAILLOW] = gMonFootprint_Taillow, + [SPECIES_SWELLOW] = gMonFootprint_Swellow, + [SPECIES_SHROOMISH] = gMonFootprint_Shroomish, + [SPECIES_BRELOOM] = gMonFootprint_Breloom, + [SPECIES_SPINDA] = gMonFootprint_Spinda, + [SPECIES_WINGULL] = gMonFootprint_Wingull, + [SPECIES_PELIPPER] = gMonFootprint_Pelipper, + [SPECIES_SURSKIT] = gMonFootprint_Surskit, + [SPECIES_MASQUERAIN] = gMonFootprint_Masquerain, + [SPECIES_WAILMER] = gMonFootprint_Wailmer, + [SPECIES_WAILORD] = gMonFootprint_Wailord, + [SPECIES_SKITTY] = gMonFootprint_Skitty, + [SPECIES_DELCATTY] = gMonFootprint_Delcatty, + [SPECIES_KECLEON] = gMonFootprint_Kecleon, + [SPECIES_BALTOY] = gMonFootprint_Baltoy, + [SPECIES_CLAYDOL] = gMonFootprint_Claydol, + [SPECIES_NOSEPASS] = gMonFootprint_Nosepass, + [SPECIES_TORKOAL] = gMonFootprint_Torkoal, + [SPECIES_SABLEYE] = gMonFootprint_Sableye, + [SPECIES_BARBOACH] = gMonFootprint_Barboach, + [SPECIES_WHISCASH] = gMonFootprint_Whiscash, + [SPECIES_LUVDISC] = gMonFootprint_Luvdisc, + [SPECIES_CORPHISH] = gMonFootprint_Corphish, + [SPECIES_CRAWDAUNT] = gMonFootprint_Crawdaunt, + [SPECIES_FEEBAS] = gMonFootprint_Feebas, + [SPECIES_MILOTIC] = gMonFootprint_Milotic, + [SPECIES_CARVANHA] = gMonFootprint_Carvanha, + [SPECIES_SHARPEDO] = gMonFootprint_Sharpedo, + [SPECIES_TRAPINCH] = gMonFootprint_Trapinch, + [SPECIES_VIBRAVA] = gMonFootprint_Vibrava, + [SPECIES_FLYGON] = gMonFootprint_Flygon, + [SPECIES_MAKUHITA] = gMonFootprint_Makuhita, + [SPECIES_HARIYAMA] = gMonFootprint_Hariyama, + [SPECIES_ELECTRIKE] = gMonFootprint_Electrike, + [SPECIES_MANECTRIC] = gMonFootprint_Manectric, + [SPECIES_NUMEL] = gMonFootprint_Numel, + [SPECIES_CAMERUPT] = gMonFootprint_Camerupt, + [SPECIES_SPHEAL] = gMonFootprint_Spheal, + [SPECIES_SEALEO] = gMonFootprint_Sealeo, + [SPECIES_WALREIN] = gMonFootprint_Walrein, + [SPECIES_CACNEA] = gMonFootprint_Cacnea, + [SPECIES_CACTURNE] = gMonFootprint_Cacturne, + [SPECIES_SNORUNT] = gMonFootprint_Snorunt, + [SPECIES_GLALIE] = gMonFootprint_Glalie, + [SPECIES_LUNATONE] = gMonFootprint_Lunatone, + [SPECIES_SOLROCK] = gMonFootprint_Solrock, + [SPECIES_AZURILL] = gMonFootprint_Azurill, + [SPECIES_SPOINK] = gMonFootprint_Spoink, + [SPECIES_GRUMPIG] = gMonFootprint_Grumpig, + [SPECIES_PLUSLE] = gMonFootprint_Plusle, + [SPECIES_MINUN] = gMonFootprint_Minun, + [SPECIES_MAWILE] = gMonFootprint_Mawile, + [SPECIES_MEDITITE] = gMonFootprint_Meditite, + [SPECIES_MEDICHAM] = gMonFootprint_Medicham, + [SPECIES_SWABLU] = gMonFootprint_Swablu, + [SPECIES_ALTARIA] = gMonFootprint_Altaria, + [SPECIES_WYNAUT] = gMonFootprint_Wynaut, + [SPECIES_DUSKULL] = gMonFootprint_Duskull, + [SPECIES_DUSCLOPS] = gMonFootprint_Dusclops, + [SPECIES_ROSELIA] = gMonFootprint_Roselia, + [SPECIES_SLAKOTH] = gMonFootprint_Slakoth, + [SPECIES_VIGOROTH] = gMonFootprint_Vigoroth, + [SPECIES_SLAKING] = gMonFootprint_Slaking, + [SPECIES_GULPIN] = gMonFootprint_Gulpin, + [SPECIES_SWALOT] = gMonFootprint_Swalot, + [SPECIES_TROPIUS] = gMonFootprint_Tropius, + [SPECIES_WHISMUR] = gMonFootprint_Whismur, + [SPECIES_LOUDRED] = gMonFootprint_Loudred, + [SPECIES_EXPLOUD] = gMonFootprint_Exploud, + [SPECIES_CLAMPERL] = gMonFootprint_Clamperl, + [SPECIES_HUNTAIL] = gMonFootprint_Huntail, + [SPECIES_GOREBYSS] = gMonFootprint_Gorebyss, + [SPECIES_ABSOL] = gMonFootprint_Absol, + [SPECIES_SHUPPET] = gMonFootprint_Shuppet, + [SPECIES_BANETTE] = gMonFootprint_Banette, + [SPECIES_SEVIPER] = gMonFootprint_Seviper, + [SPECIES_ZANGOOSE] = gMonFootprint_Zangoose, + [SPECIES_RELICANTH] = gMonFootprint_Relicanth, + [SPECIES_ARON] = gMonFootprint_Aron, + [SPECIES_LAIRON] = gMonFootprint_Lairon, + [SPECIES_AGGRON] = gMonFootprint_Aggron, + [SPECIES_CASTFORM] = gMonFootprint_Castform, + [SPECIES_VOLBEAT] = gMonFootprint_Volbeat, + [SPECIES_ILLUMISE] = gMonFootprint_Illumise, + [SPECIES_LILEEP] = gMonFootprint_Lileep, + [SPECIES_CRADILY] = gMonFootprint_Cradily, + [SPECIES_ANORITH] = gMonFootprint_Anorith, + [SPECIES_ARMALDO] = gMonFootprint_Armaldo, + [SPECIES_RALTS] = gMonFootprint_Ralts, + [SPECIES_KIRLIA] = gMonFootprint_Kirlia, + [SPECIES_GARDEVOIR] = gMonFootprint_Gardevoir, + [SPECIES_BAGON] = gMonFootprint_Bagon, + [SPECIES_SHELGON] = gMonFootprint_Shelgon, + [SPECIES_SALAMENCE] = gMonFootprint_Salamence, + [SPECIES_BELDUM] = gMonFootprint_Beldum, + [SPECIES_METANG] = gMonFootprint_Metang, + [SPECIES_METAGROSS] = gMonFootprint_Metagross, + [SPECIES_REGIROCK] = gMonFootprint_Regirock, + [SPECIES_REGICE] = gMonFootprint_Regice, + [SPECIES_REGISTEEL] = gMonFootprint_Registeel, + [SPECIES_KYOGRE] = gMonFootprint_Kyogre, + [SPECIES_GROUDON] = gMonFootprint_Groudon, + [SPECIES_RAYQUAZA] = gMonFootprint_Rayquaza, + [SPECIES_LATIAS] = gMonFootprint_Latias, + [SPECIES_LATIOS] = gMonFootprint_Latios, + [SPECIES_JIRACHI] = gMonFootprint_Jirachi, + [SPECIES_DEOXYS] = gMonFootprint_Deoxys, + [SPECIES_CHIMECHO] = gMonFootprint_Chimecho, + [SPECIES_EGG] = gMonFootprint_Bulbasaur, }; diff --git a/src/data/pokemon_graphics/front_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 8a42eb5c9..4c97af1a7 100644 --- a/src/data/pokemon_graphics/front_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -1,5 +1,4 @@ - -const union AnimCmd gAnimCmd_NONE_1[] = +static const union AnimCmd sAnim_NONE_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -7,7 +6,7 @@ const union AnimCmd gAnimCmd_NONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BULBASAUR_1[] = +static const union AnimCmd sAnim_BULBASAUR_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -15,7 +14,7 @@ const union AnimCmd gAnimCmd_BULBASAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IVYSAUR_1[] = +static const union AnimCmd sAnim_IVYSAUR_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -23,7 +22,7 @@ const union AnimCmd gAnimCmd_IVYSAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENUSAUR_1[] = +static const union AnimCmd sAnim_VENUSAUR_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -31,7 +30,7 @@ const union AnimCmd gAnimCmd_VENUSAUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARMANDER_1[] = +static const union AnimCmd sAnim_CHARMANDER_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -39,7 +38,7 @@ const union AnimCmd gAnimCmd_CHARMANDER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARMELEON_1[] = +static const union AnimCmd sAnim_CHARMELEON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -47,14 +46,14 @@ const union AnimCmd gAnimCmd_CHARMELEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHARIZARD_1[] = +static const union AnimCmd sAnim_CHARIZARD_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SQUIRTLE_1[] = +static const union AnimCmd sAnim_SQUIRTLE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -62,7 +61,7 @@ const union AnimCmd gAnimCmd_SQUIRTLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WARTORTLE_1[] = +static const union AnimCmd sAnim_WARTORTLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -70,7 +69,7 @@ const union AnimCmd gAnimCmd_WARTORTLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLASTOISE_1[] = +static const union AnimCmd sAnim_BLASTOISE_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -80,7 +79,7 @@ const union AnimCmd gAnimCmd_BLASTOISE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CATERPIE_1[] = +static const union AnimCmd sAnim_CATERPIE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -93,14 +92,14 @@ const union AnimCmd gAnimCmd_CATERPIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METAPOD_1[] = +static const union AnimCmd sAnim_METAPOD_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BUTTERFREE_1[] = +static const union AnimCmd sAnim_BUTTERFREE_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -118,7 +117,7 @@ const union AnimCmd gAnimCmd_BUTTERFREE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEDLE_1[] = +static const union AnimCmd sAnim_WEEDLE_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -130,7 +129,7 @@ const union AnimCmd gAnimCmd_WEEDLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KAKUNA_1[] = +static const union AnimCmd sAnim_KAKUNA_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -146,7 +145,7 @@ const union AnimCmd gAnimCmd_KAKUNA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEEDRILL_1[] = +static const union AnimCmd sAnim_BEEDRILL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -156,7 +155,7 @@ const union AnimCmd gAnimCmd_BEEDRILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEY_1[] = +static const union AnimCmd sAnim_PIDGEY_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -173,7 +172,7 @@ const union AnimCmd gAnimCmd_PIDGEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = +static const union AnimCmd sAnim_PIDGEOTTO_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -183,7 +182,7 @@ const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIDGEOT_1[] = +static const union AnimCmd sAnim_PIDGEOT_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -193,7 +192,7 @@ const union AnimCmd gAnimCmd_PIDGEOT_1[] = }; -const union AnimCmd gAnimCmd_RATTATA_1[] = +static const union AnimCmd sAnim_RATTATA_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -202,7 +201,7 @@ const union AnimCmd gAnimCmd_RATTATA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RATICATE_1[] = +static const union AnimCmd sAnim_RATICATE_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -219,7 +218,7 @@ const union AnimCmd gAnimCmd_RATICATE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPEAROW_1[] = +static const union AnimCmd sAnim_SPEAROW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -240,7 +239,7 @@ const union AnimCmd gAnimCmd_SPEAROW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FEAROW_1[] = +static const union AnimCmd sAnim_FEAROW_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -253,7 +252,7 @@ const union AnimCmd gAnimCmd_FEAROW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EKANS_1[] = +static const union AnimCmd sAnim_EKANS_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -264,7 +263,7 @@ const union AnimCmd gAnimCmd_EKANS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARBOK_1[] = +static const union AnimCmd sAnim_ARBOK_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -272,7 +271,7 @@ const union AnimCmd gAnimCmd_ARBOK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIKACHU_1[] = +static const union AnimCmd sAnim_PIKACHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -282,7 +281,7 @@ const union AnimCmd gAnimCmd_PIKACHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PIKACHU_2[] = +static const union AnimCmd sAnim_PIKACHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -291,7 +290,7 @@ const union AnimCmd gAnimCmd_PIKACHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAICHU_1[] = +static const union AnimCmd sAnim_RAICHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -301,7 +300,7 @@ const union AnimCmd gAnimCmd_RAICHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAICHU_2[] = +static const union AnimCmd sAnim_RAICHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -310,7 +309,7 @@ const union AnimCmd gAnimCmd_RAICHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSHREW_1[] = +static const union AnimCmd sAnim_SANDSHREW_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -320,7 +319,7 @@ const union AnimCmd gAnimCmd_SANDSHREW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSHREW_2[] = +static const union AnimCmd sAnim_SANDSHREW_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -329,7 +328,7 @@ const union AnimCmd gAnimCmd_SANDSHREW_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSLASH_1[] = +static const union AnimCmd sAnim_SANDSLASH_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -339,7 +338,7 @@ const union AnimCmd gAnimCmd_SANDSLASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SANDSLASH_2[] = +static const union AnimCmd sAnim_SANDSLASH_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -348,7 +347,7 @@ const union AnimCmd gAnimCmd_SANDSLASH_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORAN_F_1[] = +static const union AnimCmd sAnim_NIDORAN_F_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -362,21 +361,21 @@ const union AnimCmd gAnimCmd_NIDORAN_F_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORINA_1[] = +static const union AnimCmd sAnim_NIDORINA_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDOQUEEN_1[] = +static const union AnimCmd sAnim_NIDOQUEEN_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORAN_M_1[] = +static const union AnimCmd sAnim_NIDORAN_M_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -384,7 +383,7 @@ const union AnimCmd gAnimCmd_NIDORAN_M_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDORINO_1[] = +static const union AnimCmd sAnim_NIDORINO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -392,7 +391,7 @@ const union AnimCmd gAnimCmd_NIDORINO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NIDOKING_1[] = +static const union AnimCmd sAnim_NIDOKING_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -401,7 +400,7 @@ const union AnimCmd gAnimCmd_NIDOKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFAIRY_1[] = +static const union AnimCmd sAnim_CLEFAIRY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -409,7 +408,7 @@ const union AnimCmd gAnimCmd_CLEFAIRY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFABLE_1[] = +static const union AnimCmd sAnim_CLEFABLE_1[] = { ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 27), @@ -420,7 +419,7 @@ const union AnimCmd gAnimCmd_CLEFABLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VULPIX_1[] = +static const union AnimCmd sAnim_VULPIX_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -430,7 +429,7 @@ const union AnimCmd gAnimCmd_VULPIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VULPIX_2[] = +static const union AnimCmd sAnim_VULPIX_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -439,7 +438,7 @@ const union AnimCmd gAnimCmd_VULPIX_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINETALES_1[] = +static const union AnimCmd sAnim_NINETALES_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -449,7 +448,7 @@ const union AnimCmd gAnimCmd_NINETALES_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINETALES_2[] = +static const union AnimCmd sAnim_NINETALES_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -458,7 +457,7 @@ const union AnimCmd gAnimCmd_NINETALES_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = +static const union AnimCmd sAnim_JIGGLYPUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -468,7 +467,7 @@ const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = +static const union AnimCmd sAnim_JIGGLYPUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -477,7 +476,7 @@ const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = +static const union AnimCmd sAnim_WIGGLYTUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -487,7 +486,7 @@ const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = +static const union AnimCmd sAnim_WIGGLYTUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -496,7 +495,7 @@ const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZUBAT_1[] = +static const union AnimCmd sAnim_ZUBAT_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -514,7 +513,7 @@ const union AnimCmd gAnimCmd_ZUBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLBAT_1[] = +static const union AnimCmd sAnim_GOLBAT_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -538,7 +537,7 @@ const union AnimCmd gAnimCmd_GOLBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ODDISH_1[] = +static const union AnimCmd sAnim_ODDISH_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -550,7 +549,7 @@ const union AnimCmd gAnimCmd_ODDISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLOOM_1[] = +static const union AnimCmd sAnim_GLOOM_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -559,7 +558,7 @@ const union AnimCmd gAnimCmd_GLOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VILEPLUME_1[] = +static const union AnimCmd sAnim_VILEPLUME_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -569,7 +568,7 @@ const union AnimCmd gAnimCmd_VILEPLUME_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PARAS_1[] = +static const union AnimCmd sAnim_PARAS_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -590,7 +589,7 @@ const union AnimCmd gAnimCmd_PARAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PARASECT_1[] = +static const union AnimCmd sAnim_PARASECT_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -601,7 +600,7 @@ const union AnimCmd gAnimCmd_PARASECT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENONAT_1[] = +static const union AnimCmd sAnim_VENONAT_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -612,7 +611,7 @@ const union AnimCmd gAnimCmd_VENONAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VENOMOTH_1[] = +static const union AnimCmd sAnim_VENOMOTH_1[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), @@ -639,7 +638,7 @@ const union AnimCmd gAnimCmd_VENOMOTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DIGLETT_1[] = +static const union AnimCmd sAnim_DIGLETT_1[] = { ANIMCMD_FRAME(0, 25), ANIMCMD_FRAME(1, 35), @@ -647,7 +646,7 @@ const union AnimCmd gAnimCmd_DIGLETT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUGTRIO_1[] = +static const union AnimCmd sAnim_DUGTRIO_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -662,7 +661,7 @@ const union AnimCmd gAnimCmd_DUGTRIO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEOWTH_1[] = +static const union AnimCmd sAnim_MEOWTH_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -673,14 +672,14 @@ const union AnimCmd gAnimCmd_MEOWTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PERSIAN_1[] = +static const union AnimCmd sAnim_PERSIAN_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PSYDUCK_1[] = +static const union AnimCmd sAnim_PSYDUCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -690,7 +689,7 @@ const union AnimCmd gAnimCmd_PSYDUCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PSYDUCK_2[] = +static const union AnimCmd sAnim_PSYDUCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -699,7 +698,7 @@ const union AnimCmd gAnimCmd_PSYDUCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDUCK_1[] = +static const union AnimCmd sAnim_GOLDUCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -709,7 +708,7 @@ const union AnimCmd gAnimCmd_GOLDUCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDUCK_2[] = +static const union AnimCmd sAnim_GOLDUCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -718,7 +717,7 @@ const union AnimCmd gAnimCmd_GOLDUCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANKEY_1[] = +static const union AnimCmd sAnim_MANKEY_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -729,7 +728,7 @@ const union AnimCmd gAnimCmd_MANKEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PRIMEAPE_1[] = +static const union AnimCmd sAnim_PRIMEAPE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -740,7 +739,7 @@ const union AnimCmd gAnimCmd_PRIMEAPE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROWLITHE_1[] = +static const union AnimCmd sAnim_GROWLITHE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -751,7 +750,7 @@ const union AnimCmd gAnimCmd_GROWLITHE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARCANINE_1[] = +static const union AnimCmd sAnim_ARCANINE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -761,7 +760,7 @@ const union AnimCmd gAnimCmd_ARCANINE_1[] = ANIMCMD_FRAME(0, 10), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_POLIWAG_1[] = +static const union AnimCmd sAnim_POLIWAG_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -769,7 +768,7 @@ const union AnimCmd gAnimCmd_POLIWAG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLIWHIRL_1[] = +static const union AnimCmd sAnim_POLIWHIRL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -779,14 +778,14 @@ const union AnimCmd gAnimCmd_POLIWHIRL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLIWRATH_1[] = +static const union AnimCmd sAnim_POLIWRATH_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ABRA_1[] = +static const union AnimCmd sAnim_ABRA_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -796,7 +795,7 @@ const union AnimCmd gAnimCmd_ABRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KADABRA_1[] = +static const union AnimCmd sAnim_KADABRA_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -804,7 +803,7 @@ const union AnimCmd gAnimCmd_KADABRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALAKAZAM_1[] = +static const union AnimCmd sAnim_ALAKAZAM_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 54), @@ -812,7 +811,7 @@ const union AnimCmd gAnimCmd_ALAKAZAM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHOP_1[] = +static const union AnimCmd sAnim_MACHOP_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -824,7 +823,7 @@ const union AnimCmd gAnimCmd_MACHOP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHOKE_1[] = +static const union AnimCmd sAnim_MACHOKE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -832,7 +831,7 @@ const union AnimCmd gAnimCmd_MACHOKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MACHAMP_1[] = +static const union AnimCmd sAnim_MACHAMP_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -844,7 +843,7 @@ const union AnimCmd gAnimCmd_MACHAMP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELLSPROUT_1[] = +static const union AnimCmd sAnim_BELLSPROUT_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -852,7 +851,7 @@ const union AnimCmd gAnimCmd_BELLSPROUT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEPINBELL_1[] = +static const union AnimCmd sAnim_WEEPINBELL_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -864,7 +863,7 @@ const union AnimCmd gAnimCmd_WEEPINBELL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VICTREEBEL_1[] = +static const union AnimCmd sAnim_VICTREEBEL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -876,7 +875,7 @@ const union AnimCmd gAnimCmd_VICTREEBEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TENTACOOL_1[] = +static const union AnimCmd sAnim_TENTACOOL_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 15), @@ -886,7 +885,7 @@ const union AnimCmd gAnimCmd_TENTACOOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TENTACRUEL_1[] = +static const union AnimCmd sAnim_TENTACRUEL_1[] = { ANIMCMD_FRAME(0, 19), ANIMCMD_FRAME(1, 35), @@ -896,7 +895,7 @@ const union AnimCmd gAnimCmd_TENTACRUEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GEODUDE_1[] = +static const union AnimCmd sAnim_GEODUDE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 36), @@ -904,7 +903,7 @@ const union AnimCmd gAnimCmd_GEODUDE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRAVELER_1[] = +static const union AnimCmd sAnim_GRAVELER_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -914,7 +913,7 @@ const union AnimCmd gAnimCmd_GRAVELER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLEM_1[] = +static const union AnimCmd sAnim_GOLEM_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 31), @@ -924,14 +923,14 @@ const union AnimCmd gAnimCmd_GOLEM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PONYTA_1[] = +static const union AnimCmd sAnim_PONYTA_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAPIDASH_1[] = +static const union AnimCmd sAnim_RAPIDASH_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 40), @@ -939,7 +938,7 @@ const union AnimCmd gAnimCmd_RAPIDASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWPOKE_1[] = +static const union AnimCmd sAnim_SLOWPOKE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 50), @@ -947,7 +946,7 @@ const union AnimCmd gAnimCmd_SLOWPOKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWBRO_1[] = +static const union AnimCmd sAnim_SLOWBRO_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 45), @@ -955,7 +954,7 @@ const union AnimCmd gAnimCmd_SLOWBRO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGNEMITE_1[] = +static const union AnimCmd sAnim_MAGNEMITE_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 28), @@ -965,7 +964,7 @@ const union AnimCmd gAnimCmd_MAGNEMITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGNETON_1[] = +static const union AnimCmd sAnim_MAGNETON_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -977,7 +976,7 @@ const union AnimCmd gAnimCmd_MAGNETON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FARFETCHD_1[] = +static const union AnimCmd sAnim_FARFETCHD_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -994,7 +993,7 @@ const union AnimCmd gAnimCmd_FARFETCHD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DODUO_1[] = +static const union AnimCmd sAnim_DODUO_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -1004,7 +1003,7 @@ const union AnimCmd gAnimCmd_DODUO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DODRIO_1[] = +static const union AnimCmd sAnim_DODRIO_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -1018,7 +1017,7 @@ const union AnimCmd gAnimCmd_DODRIO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEEL_1[] = +static const union AnimCmd sAnim_SEEL_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1031,7 +1030,7 @@ const union AnimCmd gAnimCmd_SEEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEWGONG_1[] = +static const union AnimCmd sAnim_DEWGONG_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1039,7 +1038,7 @@ const union AnimCmd gAnimCmd_DEWGONG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRIMER_1[] = +static const union AnimCmd sAnim_GRIMER_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1049,7 +1048,7 @@ const union AnimCmd gAnimCmd_GRIMER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRIMER_2[] = +static const union AnimCmd sAnim_GRIMER_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1058,7 +1057,7 @@ const union AnimCmd gAnimCmd_GRIMER_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUK_1[] = +static const union AnimCmd sAnim_MUK_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1068,7 +1067,7 @@ const union AnimCmd gAnimCmd_MUK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUK_2[] = +static const union AnimCmd sAnim_MUK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1077,7 +1076,7 @@ const union AnimCmd gAnimCmd_MUK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHELLDER_1[] = +static const union AnimCmd sAnim_SHELLDER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1086,7 +1085,7 @@ const union AnimCmd gAnimCmd_SHELLDER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLOYSTER_1[] = +static const union AnimCmd sAnim_CLOYSTER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1107,7 +1106,7 @@ const union AnimCmd gAnimCmd_CLOYSTER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GASTLY_1[] = +static const union AnimCmd sAnim_GASTLY_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1115,7 +1114,7 @@ const union AnimCmd gAnimCmd_GASTLY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HAUNTER_1[] = +static const union AnimCmd sAnim_HAUNTER_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 15), @@ -1125,7 +1124,7 @@ const union AnimCmd gAnimCmd_HAUNTER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GENGAR_1[] = +static const union AnimCmd sAnim_GENGAR_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1133,7 +1132,7 @@ const union AnimCmd gAnimCmd_GENGAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ONIX_1[] = +static const union AnimCmd sAnim_ONIX_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1141,7 +1140,7 @@ const union AnimCmd gAnimCmd_ONIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DROWZEE_1[] = +static const union AnimCmd sAnim_DROWZEE_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -1152,7 +1151,7 @@ const union AnimCmd gAnimCmd_DROWZEE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HYPNO_1[] = +static const union AnimCmd sAnim_HYPNO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1164,7 +1163,7 @@ const union AnimCmd gAnimCmd_HYPNO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KRABBY_1[] = +static const union AnimCmd sAnim_KRABBY_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1175,7 +1174,7 @@ const union AnimCmd gAnimCmd_KRABBY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGLER_1[] = +static const union AnimCmd sAnim_KINGLER_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -1189,7 +1188,7 @@ const union AnimCmd gAnimCmd_KINGLER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VOLTORB_1[] = +static const union AnimCmd sAnim_VOLTORB_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 25), @@ -1199,7 +1198,7 @@ const union AnimCmd gAnimCmd_VOLTORB_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTRODE_1[] = +static const union AnimCmd sAnim_ELECTRODE_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), @@ -1209,7 +1208,7 @@ const union AnimCmd gAnimCmd_ELECTRODE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = +static const union AnimCmd sAnim_EXEGGCUTE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1223,14 +1222,14 @@ const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXEGGUTOR_1[] = +static const union AnimCmd sAnim_EXEGGUTOR_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_CUBONE_1[] = +static const union AnimCmd sAnim_CUBONE_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1241,7 +1240,7 @@ const union AnimCmd gAnimCmd_CUBONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAROWAK_1[] = +static const union AnimCmd sAnim_MAROWAK_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1252,14 +1251,14 @@ const union AnimCmd gAnimCmd_MAROWAK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONLEE_1[] = +static const union AnimCmd sAnim_HITMONLEE_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONCHAN_1[] = +static const union AnimCmd sAnim_HITMONCHAN_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1272,7 +1271,7 @@ const union AnimCmd gAnimCmd_HITMONCHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LICKITUNG_1[] = +static const union AnimCmd sAnim_LICKITUNG_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -1280,7 +1279,7 @@ const union AnimCmd gAnimCmd_LICKITUNG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KOFFING_1[] = +static const union AnimCmd sAnim_KOFFING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1290,7 +1289,7 @@ const union AnimCmd gAnimCmd_KOFFING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KOFFING_2[] = +static const union AnimCmd sAnim_KOFFING_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1299,7 +1298,7 @@ const union AnimCmd gAnimCmd_KOFFING_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEZING_1[] = +static const union AnimCmd sAnim_WEEZING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1309,7 +1308,7 @@ const union AnimCmd gAnimCmd_WEEZING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WEEZING_2[] = +static const union AnimCmd sAnim_WEEZING_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1318,7 +1317,7 @@ const union AnimCmd gAnimCmd_WEEZING_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYHORN_1[] = +static const union AnimCmd sAnim_RHYHORN_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1328,7 +1327,7 @@ const union AnimCmd gAnimCmd_RHYHORN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYHORN_2[] = +static const union AnimCmd sAnim_RHYHORN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1337,7 +1336,7 @@ const union AnimCmd gAnimCmd_RHYHORN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYDON_1[] = +static const union AnimCmd sAnim_RHYDON_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1347,7 +1346,7 @@ const union AnimCmd gAnimCmd_RHYDON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RHYDON_2[] = +static const union AnimCmd sAnim_RHYDON_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1356,7 +1355,7 @@ const union AnimCmd gAnimCmd_RHYDON_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHANSEY_1[] = +static const union AnimCmd sAnim_CHANSEY_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1364,7 +1363,7 @@ const union AnimCmd gAnimCmd_CHANSEY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TANGELA_1[] = +static const union AnimCmd sAnim_TANGELA_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -1379,7 +1378,7 @@ const union AnimCmd gAnimCmd_TANGELA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KANGASKHAN_1[] = +static const union AnimCmd sAnim_KANGASKHAN_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1388,7 +1387,7 @@ const union AnimCmd gAnimCmd_KANGASKHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HORSEA_1[] = +static const union AnimCmd sAnim_HORSEA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1398,7 +1397,7 @@ const union AnimCmd gAnimCmd_HORSEA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HORSEA_2[] = +static const union AnimCmd sAnim_HORSEA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1407,7 +1406,7 @@ const union AnimCmd gAnimCmd_HORSEA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEADRA_1[] = +static const union AnimCmd sAnim_SEADRA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1417,7 +1416,7 @@ const union AnimCmd gAnimCmd_SEADRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEADRA_2[] = +static const union AnimCmd sAnim_SEADRA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1426,7 +1425,7 @@ const union AnimCmd gAnimCmd_SEADRA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOLDEEN_1[] = +static const union AnimCmd sAnim_GOLDEEN_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -1440,7 +1439,7 @@ const union AnimCmd gAnimCmd_GOLDEEN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEAKING_1[] = +static const union AnimCmd sAnim_SEAKING_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -1450,7 +1449,7 @@ const union AnimCmd gAnimCmd_SEAKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARYU_1[] = +static const union AnimCmd sAnim_STARYU_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1460,7 +1459,7 @@ const union AnimCmd gAnimCmd_STARYU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARYU_2[] = +static const union AnimCmd sAnim_STARYU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1469,7 +1468,7 @@ const union AnimCmd gAnimCmd_STARYU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARMIE_1[] = +static const union AnimCmd sAnim_STARMIE_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1479,7 +1478,7 @@ const union AnimCmd gAnimCmd_STARMIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STARMIE_2[] = +static const union AnimCmd sAnim_STARMIE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1488,7 +1487,7 @@ const union AnimCmd gAnimCmd_STARMIE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MR_MIME_1[] = +static const union AnimCmd sAnim_MR_MIME_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1499,7 +1498,7 @@ const union AnimCmd gAnimCmd_MR_MIME_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCYTHER_1[] = +static const union AnimCmd sAnim_SCYTHER_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1512,7 +1511,7 @@ const union AnimCmd gAnimCmd_SCYTHER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JYNX_1[] = +static const union AnimCmd sAnim_JYNX_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), @@ -1522,7 +1521,7 @@ const union AnimCmd gAnimCmd_JYNX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = +static const union AnimCmd sAnim_ELECTABUZZ_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1531,14 +1530,14 @@ const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGMAR_1[] = +static const union AnimCmd sAnim_MAGMAR_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINSIR_1[] = +static const union AnimCmd sAnim_PINSIR_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1548,7 +1547,7 @@ const union AnimCmd gAnimCmd_PINSIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINSIR_2[] = +static const union AnimCmd sAnim_PINSIR_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1557,7 +1556,7 @@ const union AnimCmd gAnimCmd_PINSIR_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TAUROS_1[] = +static const union AnimCmd sAnim_TAUROS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -1566,7 +1565,7 @@ const union AnimCmd gAnimCmd_TAUROS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGIKARP_1[] = +static const union AnimCmd sAnim_MAGIKARP_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -1580,7 +1579,7 @@ const union AnimCmd gAnimCmd_MAGIKARP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GYARADOS_1[] = +static const union AnimCmd sAnim_GYARADOS_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 32), @@ -1588,14 +1587,14 @@ const union AnimCmd gAnimCmd_GYARADOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LAPRAS_1[] = +static const union AnimCmd sAnim_LAPRAS_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DITTO_1[] = +static const union AnimCmd sAnim_DITTO_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1604,35 +1603,35 @@ const union AnimCmd gAnimCmd_DITTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EEVEE_1[] = +static const union AnimCmd sAnim_EEVEE_1[] = { ANIMCMD_FRAME(1, 33), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VAPOREON_1[] = +static const union AnimCmd sAnim_VAPOREON_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JOLTEON_1[] = +static const union AnimCmd sAnim_JOLTEON_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLAREON_1[] = +static const union AnimCmd sAnim_FLAREON_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PORYGON_1[] = +static const union AnimCmd sAnim_PORYGON_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1641,7 +1640,7 @@ const union AnimCmd gAnimCmd_PORYGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OMANYTE_1[] = +static const union AnimCmd sAnim_OMANYTE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1654,7 +1653,7 @@ const union AnimCmd gAnimCmd_OMANYTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OMASTAR_1[] = +static const union AnimCmd sAnim_OMASTAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1663,7 +1662,7 @@ const union AnimCmd gAnimCmd_OMASTAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KABUTO_1[] = +static const union AnimCmd sAnim_KABUTO_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1676,7 +1675,7 @@ const union AnimCmd gAnimCmd_KABUTO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KABUTOPS_1[] = +static const union AnimCmd sAnim_KABUTOPS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1685,7 +1684,7 @@ const union AnimCmd gAnimCmd_KABUTOPS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AERODACTYL_1[] = +static const union AnimCmd sAnim_AERODACTYL_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 25), @@ -1694,7 +1693,7 @@ const union AnimCmd gAnimCmd_AERODACTYL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNORLAX_1[] = +static const union AnimCmd sAnim_SNORLAX_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -1702,7 +1701,7 @@ const union AnimCmd gAnimCmd_SNORLAX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARTICUNO_1[] = +static const union AnimCmd sAnim_ARTICUNO_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 15), @@ -1711,7 +1710,7 @@ const union AnimCmd gAnimCmd_ARTICUNO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZAPDOS_1[] = +static const union AnimCmd sAnim_ZAPDOS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1720,7 +1719,7 @@ const union AnimCmd gAnimCmd_ZAPDOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MOLTRES_1[] = +static const union AnimCmd sAnim_MOLTRES_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1757,7 +1756,7 @@ const union AnimCmd gAnimCmd_MOLTRES_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRATINI_1[] = +static const union AnimCmd sAnim_DRATINI_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1765,7 +1764,7 @@ const union AnimCmd gAnimCmd_DRATINI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRAGONAIR_1[] = +static const union AnimCmd sAnim_DRAGONAIR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1774,7 +1773,7 @@ const union AnimCmd gAnimCmd_DRAGONAIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DRAGONITE_1[] = +static const union AnimCmd sAnim_DRAGONITE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1782,14 +1781,14 @@ const union AnimCmd gAnimCmd_DRAGONITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEWTWO_1[] = +static const union AnimCmd sAnim_MEWTWO_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEW_1[] = +static const union AnimCmd sAnim_MEW_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1797,7 +1796,7 @@ const union AnimCmd gAnimCmd_MEW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHIKORITA_1[] = +static const union AnimCmd sAnim_CHIKORITA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1805,21 +1804,21 @@ const union AnimCmd gAnimCmd_CHIKORITA_1[] = ANIMCMD_END,}; -const union AnimCmd gAnimCmd_BAYLEEF_1[] = +static const union AnimCmd sAnim_BAYLEEF_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEGANIUM_1[] = +static const union AnimCmd sAnim_MEGANIUM_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = +static const union AnimCmd sAnim_CYNDAQUIL_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1828,21 +1827,21 @@ const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QUILAVA_1[] = +static const union AnimCmd sAnim_QUILAVA_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYPHLOSION_1[] = +static const union AnimCmd sAnim_TYPHLOSION_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOTODILE_1[] = +static const union AnimCmd sAnim_TOTODILE_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1853,14 +1852,14 @@ const union AnimCmd gAnimCmd_TOTODILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CROCONAW_1[] = +static const union AnimCmd sAnim_CROCONAW_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FERALIGATR_1[] = +static const union AnimCmd sAnim_FERALIGATR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1869,7 +1868,7 @@ const union AnimCmd gAnimCmd_FERALIGATR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SENTRET_1[] = +static const union AnimCmd sAnim_SENTRET_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1878,14 +1877,14 @@ const union AnimCmd gAnimCmd_SENTRET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FURRET_1[] = +static const union AnimCmd sAnim_FURRET_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOOTHOOT_1[] = +static const union AnimCmd sAnim_HOOTHOOT_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -1902,14 +1901,14 @@ const union AnimCmd gAnimCmd_HOOTHOOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NOCTOWL_1[] = +static const union AnimCmd sAnim_NOCTOWL_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LEDYBA_1[] = +static const union AnimCmd sAnim_LEDYBA_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1918,7 +1917,7 @@ const union AnimCmd gAnimCmd_LEDYBA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LEDIAN_1[] = +static const union AnimCmd sAnim_LEDIAN_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1949,7 +1948,7 @@ const union AnimCmd gAnimCmd_LEDIAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPINARAK_1[] = +static const union AnimCmd sAnim_SPINARAK_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -1962,7 +1961,7 @@ const union AnimCmd gAnimCmd_SPINARAK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARIADOS_1[] = +static const union AnimCmd sAnim_ARIADOS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1971,7 +1970,7 @@ const union AnimCmd gAnimCmd_ARIADOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CROBAT_1[] = +static const union AnimCmd sAnim_CROBAT_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -1993,7 +1992,7 @@ const union AnimCmd gAnimCmd_CROBAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHINCHOU_1[] = +static const union AnimCmd sAnim_CHINCHOU_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2003,7 +2002,7 @@ const union AnimCmd gAnimCmd_CHINCHOU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHINCHOU_2[] = +static const union AnimCmd sAnim_CHINCHOU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2012,7 +2011,7 @@ const union AnimCmd gAnimCmd_CHINCHOU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LANTURN_1[] = +static const union AnimCmd sAnim_LANTURN_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2022,7 +2021,7 @@ const union AnimCmd gAnimCmd_LANTURN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LANTURN_2[] = +static const union AnimCmd sAnim_LANTURN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2031,7 +2030,7 @@ const union AnimCmd gAnimCmd_LANTURN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PICHU_1[] = +static const union AnimCmd sAnim_PICHU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2041,7 +2040,7 @@ const union AnimCmd gAnimCmd_PICHU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PICHU_2[] = +static const union AnimCmd sAnim_PICHU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2050,7 +2049,7 @@ const union AnimCmd gAnimCmd_PICHU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLEFFA_1[] = +static const union AnimCmd sAnim_CLEFFA_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2059,7 +2058,7 @@ const union AnimCmd gAnimCmd_CLEFFA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = +static const union AnimCmd sAnim_IGGLYBUFF_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2069,7 +2068,7 @@ const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = +static const union AnimCmd sAnim_IGGLYBUFF_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2078,7 +2077,7 @@ const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOGEPI_1[] = +static const union AnimCmd sAnim_TOGEPI_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2086,7 +2085,7 @@ const union AnimCmd gAnimCmd_TOGEPI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TOGETIC_1[] = +static const union AnimCmd sAnim_TOGETIC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2094,7 +2093,7 @@ const union AnimCmd gAnimCmd_TOGETIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NATU_1[] = +static const union AnimCmd sAnim_NATU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2104,7 +2103,7 @@ const union AnimCmd gAnimCmd_NATU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NATU_2[] = +static const union AnimCmd sAnim_NATU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2113,7 +2112,7 @@ const union AnimCmd gAnimCmd_NATU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_XATU_1[] = +static const union AnimCmd sAnim_XATU_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 45), @@ -2125,7 +2124,7 @@ const union AnimCmd gAnimCmd_XATU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_XATU_2[] = +static const union AnimCmd sAnim_XATU_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2134,7 +2133,7 @@ const union AnimCmd gAnimCmd_XATU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAREEP_1[] = +static const union AnimCmd sAnim_MAREEP_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2145,7 +2144,7 @@ const union AnimCmd gAnimCmd_MAREEP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLAAFFY_1[] = +static const union AnimCmd sAnim_FLAAFFY_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2154,7 +2153,7 @@ const union AnimCmd gAnimCmd_FLAAFFY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AMPHAROS_1[] = +static const union AnimCmd sAnim_AMPHAROS_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -2162,7 +2161,7 @@ const union AnimCmd gAnimCmd_AMPHAROS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELLOSSOM_1[] = +static const union AnimCmd sAnim_BELLOSSOM_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2174,7 +2173,7 @@ const union AnimCmd gAnimCmd_BELLOSSOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MARILL_1[] = +static const union AnimCmd sAnim_MARILL_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -2184,7 +2183,7 @@ const union AnimCmd gAnimCmd_MARILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AZUMARILL_1[] = +static const union AnimCmd sAnim_AZUMARILL_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2194,7 +2193,7 @@ const union AnimCmd gAnimCmd_AZUMARILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUDOWOODO_1[] = +static const union AnimCmd sAnim_SUDOWOODO_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -2205,7 +2204,7 @@ const union AnimCmd gAnimCmd_SUDOWOODO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POLITOED_1[] = +static const union AnimCmd sAnim_POLITOED_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2216,7 +2215,7 @@ const union AnimCmd gAnimCmd_POLITOED_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOPPIP_1[] = +static const union AnimCmd sAnim_HOPPIP_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -2225,7 +2224,7 @@ const union AnimCmd gAnimCmd_HOPPIP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKIPLOOM_1[] = +static const union AnimCmd sAnim_SKIPLOOM_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2238,7 +2237,7 @@ const union AnimCmd gAnimCmd_SKIPLOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JUMPLUFF_1[] = +static const union AnimCmd sAnim_JUMPLUFF_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -2249,14 +2248,14 @@ const union AnimCmd gAnimCmd_JUMPLUFF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AIPOM_1[] = +static const union AnimCmd sAnim_AIPOM_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUNKERN_1[] = +static const union AnimCmd sAnim_SUNKERN_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2265,7 +2264,7 @@ const union AnimCmd gAnimCmd_SUNKERN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUNFLORA_1[] = +static const union AnimCmd sAnim_SUNFLORA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2273,7 +2272,7 @@ const union AnimCmd gAnimCmd_SUNFLORA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_YANMA_1[] = +static const union AnimCmd sAnim_YANMA_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -2300,7 +2299,7 @@ const union AnimCmd gAnimCmd_YANMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOOPER_1[] = +static const union AnimCmd sAnim_WOOPER_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2308,14 +2307,14 @@ const union AnimCmd gAnimCmd_WOOPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QUAGSIRE_1[] = +static const union AnimCmd sAnim_QUAGSIRE_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ESPEON_1[] = +static const union AnimCmd sAnim_ESPEON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -2323,21 +2322,21 @@ const union AnimCmd gAnimCmd_ESPEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UMBREON_1[] = +static const union AnimCmd sAnim_UMBREON_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MURKROW_1[] = +static const union AnimCmd sAnim_MURKROW_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLOWKING_1[] = +static const union AnimCmd sAnim_SLOWKING_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2345,7 +2344,7 @@ const union AnimCmd gAnimCmd_SLOWKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MISDREAVUS_1[] = +static const union AnimCmd sAnim_MISDREAVUS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2360,7 +2359,7 @@ const union AnimCmd gAnimCmd_MISDREAVUS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_1[] = +static const union AnimCmd sAnim_UNOWN_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2368,7 +2367,7 @@ const union AnimCmd gAnimCmd_UNOWN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOBBUFFET_1[] = +static const union AnimCmd sAnim_WOBBUFFET_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2378,7 +2377,7 @@ const union AnimCmd gAnimCmd_WOBBUFFET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WOBBUFFET_2[] = +static const union AnimCmd sAnim_WOBBUFFET_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2387,7 +2386,7 @@ const union AnimCmd gAnimCmd_WOBBUFFET_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GIRAFARIG_1[] = +static const union AnimCmd sAnim_GIRAFARIG_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2399,7 +2398,7 @@ const union AnimCmd gAnimCmd_GIRAFARIG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GIRAFARIG_2[] = +static const union AnimCmd sAnim_GIRAFARIG_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2408,7 +2407,7 @@ const union AnimCmd gAnimCmd_GIRAFARIG_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PINECO_1[] = +static const union AnimCmd sAnim_PINECO_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2421,7 +2420,7 @@ const union AnimCmd gAnimCmd_PINECO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FORRETRESS_1[] = +static const union AnimCmd sAnim_FORRETRESS_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2430,7 +2429,7 @@ const union AnimCmd gAnimCmd_FORRETRESS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUNSPARCE_1[] = +static const union AnimCmd sAnim_DUNSPARCE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -2439,14 +2438,14 @@ const union AnimCmd gAnimCmd_DUNSPARCE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLIGAR_1[] = +static const union AnimCmd sAnim_GLIGAR_1[] = { ANIMCMD_FRAME(1, 17), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STEELIX_1[] = +static const union AnimCmd sAnim_STEELIX_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 8), @@ -2457,21 +2456,21 @@ const union AnimCmd gAnimCmd_STEELIX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNUBBULL_1[] = +static const union AnimCmd sAnim_SNUBBULL_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRANBULL_1[] = +static const union AnimCmd sAnim_GRANBULL_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_QWILFISH_1[] = +static const union AnimCmd sAnim_QWILFISH_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2483,14 +2482,14 @@ const union AnimCmd gAnimCmd_QWILFISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCIZOR_1[] = +static const union AnimCmd sAnim_SCIZOR_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHUCKLE_1[] = +static const union AnimCmd sAnim_SHUCKLE_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2498,7 +2497,7 @@ const union AnimCmd gAnimCmd_SHUCKLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HERACROSS_1[] = +static const union AnimCmd sAnim_HERACROSS_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2508,7 +2507,7 @@ const union AnimCmd gAnimCmd_HERACROSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HERACROSS_2[] = +static const union AnimCmd sAnim_HERACROSS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2517,28 +2516,28 @@ const union AnimCmd gAnimCmd_HERACROSS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNEASEL_1[] = +static const union AnimCmd sAnim_SNEASEL_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TEDDIURSA_1[] = +static const union AnimCmd sAnim_TEDDIURSA_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_URSARING_1[] = +static const union AnimCmd sAnim_URSARING_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLUGMA_1[] = +static const union AnimCmd sAnim_SLUGMA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2548,7 +2547,7 @@ const union AnimCmd gAnimCmd_SLUGMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLUGMA_2[] = +static const union AnimCmd sAnim_SLUGMA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2557,7 +2556,7 @@ const union AnimCmd gAnimCmd_SLUGMA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGCARGO_1[] = +static const union AnimCmd sAnim_MAGCARGO_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2567,7 +2566,7 @@ const union AnimCmd gAnimCmd_MAGCARGO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGCARGO_2[] = +static const union AnimCmd sAnim_MAGCARGO_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2576,7 +2575,7 @@ const union AnimCmd gAnimCmd_MAGCARGO_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWINUB_1[] = +static const union AnimCmd sAnim_SWINUB_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2585,7 +2584,7 @@ const union AnimCmd gAnimCmd_SWINUB_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PILOSWINE_1[] = +static const union AnimCmd sAnim_PILOSWINE_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2594,7 +2593,7 @@ const union AnimCmd gAnimCmd_PILOSWINE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORSOLA_1[] = +static const union AnimCmd sAnim_CORSOLA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2604,7 +2603,7 @@ const union AnimCmd gAnimCmd_CORSOLA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORSOLA_2[] = +static const union AnimCmd sAnim_CORSOLA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2613,7 +2612,7 @@ const union AnimCmd gAnimCmd_CORSOLA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REMORAID_1[] = +static const union AnimCmd sAnim_REMORAID_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2622,7 +2621,7 @@ const union AnimCmd gAnimCmd_REMORAID_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OCTILLERY_1[] = +static const union AnimCmd sAnim_OCTILLERY_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2631,7 +2630,7 @@ const union AnimCmd gAnimCmd_OCTILLERY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DELIBIRD_1[] = +static const union AnimCmd sAnim_DELIBIRD_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2640,7 +2639,7 @@ const union AnimCmd gAnimCmd_DELIBIRD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANTINE_1[] = +static const union AnimCmd sAnim_MANTINE_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2649,7 +2648,7 @@ const union AnimCmd gAnimCmd_MANTINE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKARMORY_1[] = +static const union AnimCmd sAnim_SKARMORY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2659,7 +2658,7 @@ const union AnimCmd gAnimCmd_SKARMORY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKARMORY_2[] = +static const union AnimCmd sAnim_SKARMORY_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2668,7 +2667,7 @@ const union AnimCmd gAnimCmd_SKARMORY_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOUNDOUR_1[] = +static const union AnimCmd sAnim_HOUNDOUR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2677,14 +2676,14 @@ const union AnimCmd gAnimCmd_HOUNDOUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HOUNDOOM_1[] = +static const union AnimCmd sAnim_HOUNDOOM_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGDRA_1[] = +static const union AnimCmd sAnim_KINGDRA_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2694,7 +2693,7 @@ const union AnimCmd gAnimCmd_KINGDRA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KINGDRA_2[] = +static const union AnimCmd sAnim_KINGDRA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2703,7 +2702,7 @@ const union AnimCmd gAnimCmd_KINGDRA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PHANPY_1[] = +static const union AnimCmd sAnim_PHANPY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2715,7 +2714,7 @@ const union AnimCmd gAnimCmd_PHANPY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PHANPY_2[] = +static const union AnimCmd sAnim_PHANPY_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2724,7 +2723,7 @@ const union AnimCmd gAnimCmd_PHANPY_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DONPHAN_1[] = +static const union AnimCmd sAnim_DONPHAN_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2736,7 +2735,7 @@ const union AnimCmd gAnimCmd_DONPHAN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DONPHAN_2[] = +static const union AnimCmd sAnim_DONPHAN_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2745,7 +2744,7 @@ const union AnimCmd gAnimCmd_DONPHAN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PORYGON2_1[] = +static const union AnimCmd sAnim_PORYGON2_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2755,14 +2754,14 @@ const union AnimCmd gAnimCmd_PORYGON2_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_STANTLER_1[] = +static const union AnimCmd sAnim_STANTLER_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SMEARGLE_1[] = +static const union AnimCmd sAnim_SMEARGLE_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2771,14 +2770,14 @@ const union AnimCmd gAnimCmd_SMEARGLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYROGUE_1[] = +static const union AnimCmd sAnim_TYROGUE_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HITMONTOP_1[] = +static const union AnimCmd sAnim_HITMONTOP_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -2794,7 +2793,7 @@ const union AnimCmd gAnimCmd_HITMONTOP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SMOOCHUM_1[] = +static const union AnimCmd sAnim_SMOOCHUM_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2805,7 +2804,7 @@ const union AnimCmd gAnimCmd_SMOOCHUM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELEKID_1[] = +static const union AnimCmd sAnim_ELEKID_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 5), @@ -2813,7 +2812,7 @@ const union AnimCmd gAnimCmd_ELEKID_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAGBY_1[] = +static const union AnimCmd sAnim_MAGBY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2825,21 +2824,21 @@ const union AnimCmd gAnimCmd_MAGBY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MILTANK_1[] = +static const union AnimCmd sAnim_MILTANK_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLISSEY_1[] = +static const union AnimCmd sAnim_BLISSEY_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAIKOU_1[] = +static const union AnimCmd sAnim_RAIKOU_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2848,21 +2847,21 @@ const union AnimCmd gAnimCmd_RAIKOU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ENTEI_1[] = +static const union AnimCmd sAnim_ENTEI_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SUICUNE_1[] = +static const union AnimCmd sAnim_SUICUNE_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LARVITAR_1[] = +static const union AnimCmd sAnim_LARVITAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2871,14 +2870,14 @@ const union AnimCmd gAnimCmd_LARVITAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PUPITAR_1[] = +static const union AnimCmd sAnim_PUPITAR_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TYRANITAR_1[] = +static const union AnimCmd sAnim_TYRANITAR_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -2887,21 +2886,21 @@ const union AnimCmd gAnimCmd_TYRANITAR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUGIA_1[] = +static const union AnimCmd sAnim_LUGIA_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HO_OH_1[] = +static const union AnimCmd sAnim_HO_OH_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CELEBI_1[] = +static const union AnimCmd sAnim_CELEBI_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2910,7 +2909,7 @@ const union AnimCmd gAnimCmd_CELEBI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = +static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2918,7 +2917,7 @@ const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TREECKO_1[] = +static const union AnimCmd sAnim_TREECKO_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), @@ -2927,7 +2926,7 @@ const union AnimCmd gAnimCmd_TREECKO_1[] = ANIMCMD_FRAME(0, 3), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_GROVYLE_1[] = +static const union AnimCmd sAnim_GROVYLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -2937,7 +2936,7 @@ const union AnimCmd gAnimCmd_GROVYLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SCEPTILE_1[] = +static const union AnimCmd sAnim_SCEPTILE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 26), @@ -2945,7 +2944,7 @@ const union AnimCmd gAnimCmd_SCEPTILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TORCHIC_1[] = +static const union AnimCmd sAnim_TORCHIC_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 4), @@ -2957,14 +2956,14 @@ const union AnimCmd gAnimCmd_TORCHIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_COMBUSKEN_1[] = +static const union AnimCmd sAnim_COMBUSKEN_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 12), ANIMCMD_END,}; -const union AnimCmd gAnimCmd_BLAZIKEN_1[] = +static const union AnimCmd sAnim_BLAZIKEN_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -2974,7 +2973,7 @@ const union AnimCmd gAnimCmd_BLAZIKEN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_2[] = +static const union AnimCmd sAnim_BLAZIKEN_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -2982,20 +2981,20 @@ const union AnimCmd gAnimCmd_BLAZIKEN_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_3[] = +static const union AnimCmd sAnim_BLAZIKEN_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BLAZIKEN_4[] = +static const union AnimCmd sAnim_BLAZIKEN_4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MUDKIP_1[] = +static const union AnimCmd sAnim_MUDKIP_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -3005,7 +3004,7 @@ const union AnimCmd gAnimCmd_MUDKIP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MARSHTOMP_1[] = +static const union AnimCmd sAnim_MARSHTOMP_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3019,7 +3018,7 @@ const union AnimCmd gAnimCmd_MARSHTOMP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWAMPERT_1[] = +static const union AnimCmd sAnim_SWAMPERT_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 44), @@ -3029,7 +3028,7 @@ const union AnimCmd gAnimCmd_SWAMPERT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_POOCHYENA_1[] = +static const union AnimCmd sAnim_POOCHYENA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -3037,7 +3036,7 @@ const union AnimCmd gAnimCmd_POOCHYENA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MIGHTYENA_1[] = +static const union AnimCmd sAnim_MIGHTYENA_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3047,7 +3046,7 @@ const union AnimCmd gAnimCmd_MIGHTYENA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = +static const union AnimCmd sAnim_ZIGZAGOON_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3057,7 +3056,7 @@ const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LINOONE_1[] = +static const union AnimCmd sAnim_LINOONE_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -3067,7 +3066,7 @@ const union AnimCmd gAnimCmd_LINOONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WURMPLE_1[] = +static const union AnimCmd sAnim_WURMPLE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 35), @@ -3075,7 +3074,7 @@ const union AnimCmd gAnimCmd_WURMPLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SILCOON_1[] = +static const union AnimCmd sAnim_SILCOON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -3083,13 +3082,13 @@ const union AnimCmd gAnimCmd_SILCOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SILCOON_2[] = +static const union AnimCmd sAnim_SILCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = +static const union AnimCmd sAnim_BEAUTIFLY_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -3103,13 +3102,13 @@ const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BEAUTIFLY_2[] = +static const union AnimCmd sAnim_BEAUTIFLY_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASCOON_1[] = +static const union AnimCmd sAnim_CASCOON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3119,13 +3118,13 @@ const union AnimCmd gAnimCmd_CASCOON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASCOON_2[] = +static const union AnimCmd sAnim_CASCOON_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSTOX_1[] = +static const union AnimCmd sAnim_DUSTOX_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3145,13 +3144,13 @@ const union AnimCmd gAnimCmd_DUSTOX_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSTOX_2[] = +static const union AnimCmd sAnim_DUSTOX_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOTAD_1[] = +static const union AnimCmd sAnim_LOTAD_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 55), @@ -3159,7 +3158,7 @@ const union AnimCmd gAnimCmd_LOTAD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOMBRE_1[] = +static const union AnimCmd sAnim_LOMBRE_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3169,7 +3168,7 @@ const union AnimCmd gAnimCmd_LOMBRE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUDICOLO_1[] = +static const union AnimCmd sAnim_LUDICOLO_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3181,7 +3180,7 @@ const union AnimCmd gAnimCmd_LUDICOLO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEEDOT_1[] = +static const union AnimCmd sAnim_SEEDOT_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3195,7 +3194,7 @@ const union AnimCmd gAnimCmd_SEEDOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NUZLEAF_1[] = +static const union AnimCmd sAnim_NUZLEAF_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 15), @@ -3209,7 +3208,7 @@ const union AnimCmd gAnimCmd_NUZLEAF_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHIFTRY_1[] = +static const union AnimCmd sAnim_SHIFTRY_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 35), @@ -3217,7 +3216,7 @@ const union AnimCmd gAnimCmd_SHIFTRY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINCADA_1[] = +static const union AnimCmd sAnim_NINCADA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 22), @@ -3227,7 +3226,7 @@ const union AnimCmd gAnimCmd_NINCADA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NINJASK_1[] = +static const union AnimCmd sAnim_NINJASK_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3250,7 +3249,7 @@ const union AnimCmd gAnimCmd_NINJASK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHEDINJA_1[] = +static const union AnimCmd sAnim_SHEDINJA_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 33), @@ -3260,7 +3259,7 @@ const union AnimCmd gAnimCmd_SHEDINJA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TAILLOW_1[] = +static const union AnimCmd sAnim_TAILLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -3274,7 +3273,7 @@ const union AnimCmd gAnimCmd_TAILLOW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWELLOW_1[] = +static const union AnimCmd sAnim_SWELLOW_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 18), @@ -3282,7 +3281,7 @@ const union AnimCmd gAnimCmd_SWELLOW_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHROOMISH_1[] = +static const union AnimCmd sAnim_SHROOMISH_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3298,7 +3297,7 @@ const union AnimCmd gAnimCmd_SHROOMISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BRELOOM_1[] = +static const union AnimCmd sAnim_BRELOOM_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3308,7 +3307,7 @@ const union AnimCmd gAnimCmd_BRELOOM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WINGULL_1[] = +static const union AnimCmd sAnim_WINGULL_1[] = { ANIMCMD_FRAME(0, 17), ANIMCMD_FRAME(1, 23), @@ -3316,7 +3315,7 @@ const union AnimCmd gAnimCmd_WINGULL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PELIPPER_1[] = +static const union AnimCmd sAnim_PELIPPER_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3330,7 +3329,7 @@ const union AnimCmd gAnimCmd_PELIPPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SURSKIT_1[] = +static const union AnimCmd sAnim_SURSKIT_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 18), @@ -3340,13 +3339,13 @@ const union AnimCmd gAnimCmd_SURSKIT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SURSKIT_2[] = +static const union AnimCmd sAnim_SURSKIT_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MASQUERAIN_1[] = +static const union AnimCmd sAnim_MASQUERAIN_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -3360,13 +3359,13 @@ const union AnimCmd gAnimCmd_MASQUERAIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MASQUERAIN_2[] = +static const union AnimCmd sAnim_MASQUERAIN_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WAILMER_1[] = +static const union AnimCmd sAnim_WAILMER_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3378,7 +3377,7 @@ const union AnimCmd gAnimCmd_WAILMER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WAILORD_1[] = +static const union AnimCmd sAnim_WAILORD_1[] = { ANIMCMD_FRAME(0, 26), ANIMCMD_FRAME(1, 48), @@ -3386,7 +3385,7 @@ const union AnimCmd gAnimCmd_WAILORD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SKITTY_1[] = +static const union AnimCmd sAnim_SKITTY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 35), @@ -3394,7 +3393,7 @@ const union AnimCmd gAnimCmd_SKITTY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DELCATTY_1[] = +static const union AnimCmd sAnim_DELCATTY_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 46), @@ -3402,7 +3401,7 @@ const union AnimCmd gAnimCmd_DELCATTY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KECLEON_1[] = +static const union AnimCmd sAnim_KECLEON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -3412,7 +3411,7 @@ const union AnimCmd gAnimCmd_KECLEON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BALTOY_1[] = +static const union AnimCmd sAnim_BALTOY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3424,7 +3423,7 @@ const union AnimCmd gAnimCmd_BALTOY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLAYDOL_1[] = +static const union AnimCmd sAnim_CLAYDOL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3436,7 +3435,7 @@ const union AnimCmd gAnimCmd_CLAYDOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NOSEPASS_1[] = +static const union AnimCmd sAnim_NOSEPASS_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 27), @@ -3448,7 +3447,7 @@ const union AnimCmd gAnimCmd_NOSEPASS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TORKOAL_1[] = +static const union AnimCmd sAnim_TORKOAL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3458,7 +3457,7 @@ const union AnimCmd gAnimCmd_TORKOAL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SABLEYE_1[] = +static const union AnimCmd sAnim_SABLEYE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3468,7 +3467,7 @@ const union AnimCmd gAnimCmd_SABLEYE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BARBOACH_1[] = +static const union AnimCmd sAnim_BARBOACH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3486,7 +3485,7 @@ const union AnimCmd gAnimCmd_BARBOACH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WHISCASH_1[] = +static const union AnimCmd sAnim_WHISCASH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3504,7 +3503,7 @@ const union AnimCmd gAnimCmd_WHISCASH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUVDISC_1[] = +static const union AnimCmd sAnim_LUVDISC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3514,7 +3513,7 @@ const union AnimCmd gAnimCmd_LUVDISC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CORPHISH_1[] = +static const union AnimCmd sAnim_CORPHISH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3526,7 +3525,7 @@ const union AnimCmd gAnimCmd_CORPHISH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = +static const union AnimCmd sAnim_CRAWDAUNT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3536,7 +3535,7 @@ const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FEEBAS_1[] = +static const union AnimCmd sAnim_FEEBAS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3548,7 +3547,7 @@ const union AnimCmd gAnimCmd_FEEBAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MILOTIC_1[] = +static const union AnimCmd sAnim_MILOTIC_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3560,7 +3559,7 @@ const union AnimCmd gAnimCmd_MILOTIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CARVANHA_1[] = +static const union AnimCmd sAnim_CARVANHA_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3574,7 +3573,7 @@ const union AnimCmd gAnimCmd_CARVANHA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHARPEDO_1[] = +static const union AnimCmd sAnim_SHARPEDO_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3588,7 +3587,7 @@ const union AnimCmd gAnimCmd_SHARPEDO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TRAPINCH_1[] = +static const union AnimCmd sAnim_TRAPINCH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3598,7 +3597,7 @@ const union AnimCmd gAnimCmd_TRAPINCH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VIBRAVA_1[] = +static const union AnimCmd sAnim_VIBRAVA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3610,7 +3609,7 @@ const union AnimCmd gAnimCmd_VIBRAVA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_FLYGON_1[] = +static const union AnimCmd sAnim_FLYGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3622,7 +3621,7 @@ const union AnimCmd gAnimCmd_FLYGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAKUHITA_1[] = +static const union AnimCmd sAnim_MAKUHITA_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 10), @@ -3636,7 +3635,7 @@ const union AnimCmd gAnimCmd_MAKUHITA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HARIYAMA_1[] = +static const union AnimCmd sAnim_HARIYAMA_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -3645,7 +3644,7 @@ const union AnimCmd gAnimCmd_HARIYAMA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ELECTRIKE_1[] = +static const union AnimCmd sAnim_ELECTRIKE_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -3655,7 +3654,7 @@ const union AnimCmd gAnimCmd_ELECTRIKE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MANECTRIC_1[] = +static const union AnimCmd sAnim_MANECTRIC_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 33), @@ -3665,7 +3664,7 @@ const union AnimCmd gAnimCmd_MANECTRIC_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_NUMEL_1[] = +static const union AnimCmd sAnim_NUMEL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3675,7 +3674,7 @@ const union AnimCmd gAnimCmd_NUMEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CAMERUPT_1[] = +static const union AnimCmd sAnim_CAMERUPT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3687,7 +3686,7 @@ const union AnimCmd gAnimCmd_CAMERUPT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPHEAL_1[] = +static const union AnimCmd sAnim_SPHEAL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 43), @@ -3700,7 +3699,7 @@ const union AnimCmd gAnimCmd_SPHEAL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEALEO_1[] = +static const union AnimCmd sAnim_SEALEO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3710,7 +3709,7 @@ const union AnimCmd gAnimCmd_SEALEO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WALREIN_1[] = +static const union AnimCmd sAnim_WALREIN_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 10), @@ -3720,7 +3719,7 @@ const union AnimCmd gAnimCmd_WALREIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CACNEA_1[] = +static const union AnimCmd sAnim_CACNEA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3736,7 +3735,7 @@ const union AnimCmd gAnimCmd_CACNEA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CACTURNE_1[] = +static const union AnimCmd sAnim_CACTURNE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3746,7 +3745,7 @@ const union AnimCmd gAnimCmd_CACTURNE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SNORUNT_1[] = +static const union AnimCmd sAnim_SNORUNT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3756,7 +3755,7 @@ const union AnimCmd gAnimCmd_SNORUNT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GLALIE_1[] = +static const union AnimCmd sAnim_GLALIE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3766,7 +3765,7 @@ const union AnimCmd gAnimCmd_GLALIE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUNATONE_1[] = +static const union AnimCmd sAnim_LUNATONE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3776,7 +3775,7 @@ const union AnimCmd gAnimCmd_LUNATONE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LUNATONE_2[] = +static const union AnimCmd sAnim_LUNATONE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3785,7 +3784,7 @@ const union AnimCmd gAnimCmd_LUNATONE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SOLROCK_1[] = +static const union AnimCmd sAnim_SOLROCK_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3795,7 +3794,7 @@ const union AnimCmd gAnimCmd_SOLROCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SOLROCK_2[] = +static const union AnimCmd sAnim_SOLROCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3804,7 +3803,7 @@ const union AnimCmd gAnimCmd_SOLROCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AZURILL_1[] = +static const union AnimCmd sAnim_AZURILL_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -3816,7 +3815,7 @@ const union AnimCmd gAnimCmd_AZURILL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SPOINK_1[] = +static const union AnimCmd sAnim_SPOINK_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -3832,7 +3831,7 @@ const union AnimCmd gAnimCmd_SPOINK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GRUMPIG_1[] = +static const union AnimCmd sAnim_GRUMPIG_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3842,7 +3841,7 @@ const union AnimCmd gAnimCmd_GRUMPIG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_PLUSLE_1[] = +static const union AnimCmd sAnim_PLUSLE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3852,7 +3851,7 @@ const union AnimCmd gAnimCmd_PLUSLE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MINUN_1[] = +static const union AnimCmd sAnim_MINUN_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3862,7 +3861,7 @@ const union AnimCmd gAnimCmd_MINUN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MAWILE_1[] = +static const union AnimCmd sAnim_MAWILE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3874,7 +3873,7 @@ const union AnimCmd gAnimCmd_MAWILE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEDITITE_1[] = +static const union AnimCmd sAnim_MEDITITE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 2), @@ -3882,7 +3881,7 @@ const union AnimCmd gAnimCmd_MEDITITE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_MEDICHAM_1[] = +static const union AnimCmd sAnim_MEDICHAM_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -3894,7 +3893,7 @@ const union AnimCmd gAnimCmd_MEDICHAM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWABLU_1[] = +static const union AnimCmd sAnim_SWABLU_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -3906,7 +3905,7 @@ const union AnimCmd gAnimCmd_SWABLU_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWABLU_2[] = +static const union AnimCmd sAnim_SWABLU_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -3917,7 +3916,7 @@ const union AnimCmd gAnimCmd_SWABLU_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALTARIA_1[] = +static const union AnimCmd sAnim_ALTARIA_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3927,7 +3926,7 @@ const union AnimCmd gAnimCmd_ALTARIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ALTARIA_2[] = +static const union AnimCmd sAnim_ALTARIA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3936,7 +3935,7 @@ const union AnimCmd gAnimCmd_ALTARIA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WYNAUT_1[] = +static const union AnimCmd sAnim_WYNAUT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3946,7 +3945,7 @@ const union AnimCmd gAnimCmd_WYNAUT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSKULL_1[] = +static const union AnimCmd sAnim_DUSKULL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3956,7 +3955,7 @@ const union AnimCmd gAnimCmd_DUSKULL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DUSCLOPS_1[] = +static const union AnimCmd sAnim_DUSCLOPS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3966,7 +3965,7 @@ const union AnimCmd gAnimCmd_DUSCLOPS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ROSELIA_1[] = +static const union AnimCmd sAnim_ROSELIA_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 44), @@ -3974,7 +3973,7 @@ const union AnimCmd gAnimCmd_ROSELIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLAKOTH_1[] = +static const union AnimCmd sAnim_SLAKOTH_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 22), @@ -3985,7 +3984,7 @@ const union AnimCmd gAnimCmd_SLAKOTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VIGOROTH_1[] = +static const union AnimCmd sAnim_VIGOROTH_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -3997,7 +3996,7 @@ const union AnimCmd gAnimCmd_VIGOROTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SLAKING_1[] = +static const union AnimCmd sAnim_SLAKING_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4009,7 +4008,7 @@ const union AnimCmd gAnimCmd_SLAKING_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GULPIN_1[] = +static const union AnimCmd sAnim_GULPIN_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -4019,7 +4018,7 @@ const union AnimCmd gAnimCmd_GULPIN_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SWALOT_1[] = +static const union AnimCmd sAnim_SWALOT_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 30), @@ -4028,7 +4027,7 @@ const union AnimCmd gAnimCmd_SWALOT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_TROPIUS_1[] = +static const union AnimCmd sAnim_TROPIUS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4038,7 +4037,7 @@ const union AnimCmd gAnimCmd_TROPIUS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_WHISMUR_1[] = +static const union AnimCmd sAnim_WHISMUR_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4053,7 +4052,7 @@ const union AnimCmd gAnimCmd_WHISMUR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LOUDRED_1[] = +static const union AnimCmd sAnim_LOUDRED_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4063,7 +4062,7 @@ const union AnimCmd gAnimCmd_LOUDRED_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EXPLOUD_1[] = +static const union AnimCmd sAnim_EXPLOUD_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 44), @@ -4071,7 +4070,7 @@ const union AnimCmd gAnimCmd_EXPLOUD_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CLAMPERL_1[] = +static const union AnimCmd sAnim_CLAMPERL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4081,7 +4080,7 @@ const union AnimCmd gAnimCmd_CLAMPERL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_HUNTAIL_1[] = +static const union AnimCmd sAnim_HUNTAIL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4091,7 +4090,7 @@ const union AnimCmd gAnimCmd_HUNTAIL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GOREBYSS_1[] = +static const union AnimCmd sAnim_GOREBYSS_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4101,7 +4100,7 @@ const union AnimCmd gAnimCmd_GOREBYSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ABSOL_1[] = +static const union AnimCmd sAnim_ABSOL_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4111,7 +4110,7 @@ const union AnimCmd gAnimCmd_ABSOL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHUPPET_1[] = +static const union AnimCmd sAnim_SHUPPET_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4123,7 +4122,7 @@ const union AnimCmd gAnimCmd_SHUPPET_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BANETTE_1[] = +static const union AnimCmd sAnim_BANETTE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4135,7 +4134,7 @@ const union AnimCmd gAnimCmd_BANETTE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SEVIPER_1[] = +static const union AnimCmd sAnim_SEVIPER_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4147,7 +4146,7 @@ const union AnimCmd gAnimCmd_SEVIPER_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ZANGOOSE_1[] = +static const union AnimCmd sAnim_ZANGOOSE_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4159,7 +4158,7 @@ const union AnimCmd gAnimCmd_ZANGOOSE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RELICANTH_1[] = +static const union AnimCmd sAnim_RELICANTH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4169,7 +4168,7 @@ const union AnimCmd gAnimCmd_RELICANTH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARON_1[] = +static const union AnimCmd sAnim_ARON_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 44), @@ -4179,7 +4178,7 @@ const union AnimCmd gAnimCmd_ARON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LAIRON_1[] = +static const union AnimCmd sAnim_LAIRON_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 29), @@ -4189,7 +4188,7 @@ const union AnimCmd gAnimCmd_LAIRON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_AGGRON_1[] = +static const union AnimCmd sAnim_AGGRON_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -4197,31 +4196,31 @@ const union AnimCmd gAnimCmd_AGGRON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_0[] = +static const union AnimCmd sAnim_CASTFORM_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_1[] = +static const union AnimCmd sAnim_CASTFORM_1[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_2[] = +static const union AnimCmd sAnim_CASTFORM_2[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CASTFORM_3[] = +static const union AnimCmd sAnim_CASTFORM_3[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gAnimCmd_VOLBEAT_1[] = +static const union AnimCmd sAnim_VOLBEAT_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -4233,7 +4232,7 @@ const union AnimCmd gAnimCmd_VOLBEAT_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ILLUMISE_1[] = +static const union AnimCmd sAnim_ILLUMISE_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4243,7 +4242,7 @@ const union AnimCmd gAnimCmd_ILLUMISE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LILEEP_1[] = +static const union AnimCmd sAnim_LILEEP_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4253,7 +4252,7 @@ const union AnimCmd gAnimCmd_LILEEP_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CRADILY_1[] = +static const union AnimCmd sAnim_CRADILY_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4265,7 +4264,7 @@ const union AnimCmd gAnimCmd_CRADILY_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ANORITH_1[] = +static const union AnimCmd sAnim_ANORITH_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4277,7 +4276,7 @@ const union AnimCmd gAnimCmd_ANORITH_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_ARMALDO_1[] = +static const union AnimCmd sAnim_ARMALDO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4287,7 +4286,7 @@ const union AnimCmd gAnimCmd_ARMALDO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RALTS_1[] = +static const union AnimCmd sAnim_RALTS_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -4295,7 +4294,7 @@ const union AnimCmd gAnimCmd_RALTS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KIRLIA_1[] = +static const union AnimCmd sAnim_KIRLIA_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 39), @@ -4303,7 +4302,7 @@ const union AnimCmd gAnimCmd_KIRLIA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GARDEVOIR_1[] = +static const union AnimCmd sAnim_GARDEVOIR_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -4321,7 +4320,7 @@ const union AnimCmd gAnimCmd_GARDEVOIR_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BAGON_1[] = +static const union AnimCmd sAnim_BAGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4331,7 +4330,7 @@ const union AnimCmd gAnimCmd_BAGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SHELGON_1[] = +static const union AnimCmd sAnim_SHELGON_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4341,7 +4340,7 @@ const union AnimCmd gAnimCmd_SHELGON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_SALAMENCE_1[] = +static const union AnimCmd sAnim_SALAMENCE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4351,7 +4350,7 @@ const union AnimCmd gAnimCmd_SALAMENCE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_BELDUM_1[] = +static const union AnimCmd sAnim_BELDUM_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4361,7 +4360,7 @@ const union AnimCmd gAnimCmd_BELDUM_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METANG_1[] = +static const union AnimCmd sAnim_METANG_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -4371,7 +4370,7 @@ const union AnimCmd gAnimCmd_METANG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_METAGROSS_1[] = +static const union AnimCmd sAnim_METAGROSS_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4381,7 +4380,7 @@ const union AnimCmd gAnimCmd_METAGROSS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGIROCK_1[] = +static const union AnimCmd sAnim_REGIROCK_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4391,7 +4390,7 @@ const union AnimCmd gAnimCmd_REGIROCK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGIROCK_2[] = +static const union AnimCmd sAnim_REGIROCK_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4400,7 +4399,7 @@ const union AnimCmd gAnimCmd_REGIROCK_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGICE_1[] = +static const union AnimCmd sAnim_REGICE_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 15), @@ -4410,7 +4409,7 @@ const union AnimCmd gAnimCmd_REGICE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGISTEEL_1[] = +static const union AnimCmd sAnim_REGISTEEL_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4420,7 +4419,7 @@ const union AnimCmd gAnimCmd_REGISTEEL_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_REGISTEEL_2[] = +static const union AnimCmd sAnim_REGISTEEL_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4429,7 +4428,7 @@ const union AnimCmd gAnimCmd_REGISTEEL_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KYOGRE_1[] = +static const union AnimCmd sAnim_KYOGRE_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4439,7 +4438,7 @@ const union AnimCmd gAnimCmd_KYOGRE_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_KYOGRE_2[] = +static const union AnimCmd sAnim_KYOGRE_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4448,7 +4447,7 @@ const union AnimCmd gAnimCmd_KYOGRE_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROUDON_1[] = +static const union AnimCmd sAnim_GROUDON_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -4458,7 +4457,7 @@ const union AnimCmd gAnimCmd_GROUDON_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_GROUDON_2[] = +static const union AnimCmd sAnim_GROUDON_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4467,7 +4466,7 @@ const union AnimCmd gAnimCmd_GROUDON_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAYQUAZA_1[] = +static const union AnimCmd sAnim_RAYQUAZA_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 8), @@ -4477,7 +4476,7 @@ const union AnimCmd gAnimCmd_RAYQUAZA_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RAYQUAZA_2[] = +static const union AnimCmd sAnim_RAYQUAZA_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4486,7 +4485,7 @@ const union AnimCmd gAnimCmd_RAYQUAZA_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIAS_1[] = +static const union AnimCmd sAnim_LATIAS_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4496,7 +4495,7 @@ const union AnimCmd gAnimCmd_LATIAS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIAS_2[] = +static const union AnimCmd sAnim_LATIAS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4505,7 +4504,7 @@ const union AnimCmd gAnimCmd_LATIAS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIOS_1[] = +static const union AnimCmd sAnim_LATIOS_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4515,7 +4514,7 @@ const union AnimCmd gAnimCmd_LATIOS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_LATIOS_2[] = +static const union AnimCmd sAnim_LATIOS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4524,7 +4523,7 @@ const union AnimCmd gAnimCmd_LATIOS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIRACHI_1[] = +static const union AnimCmd sAnim_JIRACHI_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4539,7 +4538,7 @@ const union AnimCmd gAnimCmd_JIRACHI_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_JIRACHI_2[] = +static const union AnimCmd sAnim_JIRACHI_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4548,7 +4547,7 @@ const union AnimCmd gAnimCmd_JIRACHI_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEOXYS_1[] = +static const union AnimCmd sAnim_DEOXYS_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4558,7 +4557,7 @@ const union AnimCmd gAnimCmd_DEOXYS_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_DEOXYS_2[] = +static const union AnimCmd sAnim_DEOXYS_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4567,7 +4566,7 @@ const union AnimCmd gAnimCmd_DEOXYS_2[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_CHIMECHO_1[] = +static const union AnimCmd sAnim_CHIMECHO_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4581,7 +4580,7 @@ const union AnimCmd gAnimCmd_CHIMECHO_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_EGG_1[] = +static const union AnimCmd sAnim_EGG_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -4590,7 +4589,7 @@ const union AnimCmd gAnimCmd_EGG_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_B_1[] = +static const union AnimCmd sAnim_UNOWN_B_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4598,7 +4597,7 @@ const union AnimCmd gAnimCmd_UNOWN_B_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_C_1[] = +static const union AnimCmd sAnim_UNOWN_C_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4606,7 +4605,7 @@ const union AnimCmd gAnimCmd_UNOWN_C_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_D_1[] = +static const union AnimCmd sAnim_UNOWN_D_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4614,7 +4613,7 @@ const union AnimCmd gAnimCmd_UNOWN_D_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_E_1[] = +static const union AnimCmd sAnim_UNOWN_E_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4622,7 +4621,7 @@ const union AnimCmd gAnimCmd_UNOWN_E_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_F_1[] = +static const union AnimCmd sAnim_UNOWN_F_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4630,7 +4629,7 @@ const union AnimCmd gAnimCmd_UNOWN_F_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_G_1[] = +static const union AnimCmd sAnim_UNOWN_G_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4638,7 +4637,7 @@ const union AnimCmd gAnimCmd_UNOWN_G_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_H_1[] = +static const union AnimCmd sAnim_UNOWN_H_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4646,7 +4645,7 @@ const union AnimCmd gAnimCmd_UNOWN_H_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_I_1[] = +static const union AnimCmd sAnim_UNOWN_I_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4654,7 +4653,7 @@ const union AnimCmd gAnimCmd_UNOWN_I_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_J_1[] = +static const union AnimCmd sAnim_UNOWN_J_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4662,7 +4661,7 @@ const union AnimCmd gAnimCmd_UNOWN_J_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_K_1[] = +static const union AnimCmd sAnim_UNOWN_K_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4670,7 +4669,7 @@ const union AnimCmd gAnimCmd_UNOWN_K_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_L_1[] = +static const union AnimCmd sAnim_UNOWN_L_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4678,7 +4677,7 @@ const union AnimCmd gAnimCmd_UNOWN_L_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_M_1[] = +static const union AnimCmd sAnim_UNOWN_M_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4686,7 +4685,7 @@ const union AnimCmd gAnimCmd_UNOWN_M_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_N_1[] = +static const union AnimCmd sAnim_UNOWN_N_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4694,7 +4693,7 @@ const union AnimCmd gAnimCmd_UNOWN_N_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_O_1[] = +static const union AnimCmd sAnim_UNOWN_O_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4702,7 +4701,7 @@ const union AnimCmd gAnimCmd_UNOWN_O_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_P_1[] = +static const union AnimCmd sAnim_UNOWN_P_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4710,7 +4709,7 @@ const union AnimCmd gAnimCmd_UNOWN_P_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Q_1[] = +static const union AnimCmd sAnim_UNOWN_Q_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4718,7 +4717,7 @@ const union AnimCmd gAnimCmd_UNOWN_Q_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_R_1[] = +static const union AnimCmd sAnim_UNOWN_R_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4726,7 +4725,7 @@ const union AnimCmd gAnimCmd_UNOWN_R_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_S_1[] = +static const union AnimCmd sAnim_UNOWN_S_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4734,7 +4733,7 @@ const union AnimCmd gAnimCmd_UNOWN_S_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_T_1[] = +static const union AnimCmd sAnim_UNOWN_T_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4742,7 +4741,7 @@ const union AnimCmd gAnimCmd_UNOWN_T_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_U_1[] = +static const union AnimCmd sAnim_UNOWN_U_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4750,7 +4749,7 @@ const union AnimCmd gAnimCmd_UNOWN_U_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_V_1[] = +static const union AnimCmd sAnim_UNOWN_V_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4758,7 +4757,7 @@ const union AnimCmd gAnimCmd_UNOWN_V_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_W_1[] = +static const union AnimCmd sAnim_UNOWN_W_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4766,7 +4765,7 @@ const union AnimCmd gAnimCmd_UNOWN_W_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_X_1[] = +static const union AnimCmd sAnim_UNOWN_X_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4774,7 +4773,7 @@ const union AnimCmd gAnimCmd_UNOWN_X_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Y_1[] = +static const union AnimCmd sAnim_UNOWN_Y_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4782,7 +4781,7 @@ const union AnimCmd gAnimCmd_UNOWN_Y_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_Z_1[] = +static const union AnimCmd sAnim_UNOWN_Z_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4790,7 +4789,7 @@ const union AnimCmd gAnimCmd_UNOWN_Z_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = +static const union AnimCmd sAnim_UNOWN_EMARK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4798,2158 +4797,2158 @@ const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_UNOWN_QMARK_1[] = +static const union AnimCmd sAnim_UNOWN_QMARK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; - -const union AnimCmd *const gAnims_NONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NONE_1, + +static const union AnimCmd *const sAnims_NONE[] ={ + sAnim_GeneralFrame0, + sAnim_NONE_1, }; -const union AnimCmd *const gAnims_BULBASAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BULBASAUR_1, +static const union AnimCmd *const sAnims_BULBASAUR[] ={ + sAnim_GeneralFrame0, + sAnim_BULBASAUR_1, }; -const union AnimCmd *const gAnims_IVYSAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_IVYSAUR_1, +static const union AnimCmd *const sAnims_IVYSAUR[] ={ + sAnim_GeneralFrame0, + sAnim_IVYSAUR_1, }; -const union AnimCmd *const gAnims_VENUSAUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENUSAUR_1, +static const union AnimCmd *const sAnims_VENUSAUR[] ={ + sAnim_GeneralFrame0, + sAnim_VENUSAUR_1, }; -const union AnimCmd *const gAnims_CHARMANDER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARMANDER_1, +static const union AnimCmd *const sAnims_CHARMANDER[] ={ + sAnim_GeneralFrame0, + sAnim_CHARMANDER_1, }; -const union AnimCmd *const gAnims_CHARMELEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARMELEON_1, +static const union AnimCmd *const sAnims_CHARMELEON[] ={ + sAnim_GeneralFrame0, + sAnim_CHARMELEON_1, }; -const union AnimCmd *const gAnims_CHARIZARD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHARIZARD_1, +static const union AnimCmd *const sAnims_CHARIZARD[] ={ + sAnim_GeneralFrame0, + sAnim_CHARIZARD_1, }; -const union AnimCmd *const gAnims_SQUIRTLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SQUIRTLE_1, +static const union AnimCmd *const sAnims_SQUIRTLE[] ={ + sAnim_GeneralFrame0, + sAnim_SQUIRTLE_1, }; -const union AnimCmd *const gAnims_WARTORTLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WARTORTLE_1, +static const union AnimCmd *const sAnims_WARTORTLE[] ={ + sAnim_GeneralFrame0, + sAnim_WARTORTLE_1, }; -const union AnimCmd *const gAnims_BLASTOISE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLASTOISE_1, +static const union AnimCmd *const sAnims_BLASTOISE[] ={ + sAnim_GeneralFrame0, + sAnim_BLASTOISE_1, }; -const union AnimCmd *const gAnims_CATERPIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CATERPIE_1, +static const union AnimCmd *const sAnims_CATERPIE[] ={ + sAnim_GeneralFrame0, + sAnim_CATERPIE_1, }; -const union AnimCmd *const gAnims_METAPOD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METAPOD_1, +static const union AnimCmd *const sAnims_METAPOD[] ={ + sAnim_GeneralFrame0, + sAnim_METAPOD_1, }; -const union AnimCmd *const gAnims_BUTTERFREE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BUTTERFREE_1, +static const union AnimCmd *const sAnims_BUTTERFREE[] ={ + sAnim_GeneralFrame0, + sAnim_BUTTERFREE_1, }; -const union AnimCmd *const gAnims_WEEDLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEDLE_1, +static const union AnimCmd *const sAnims_WEEDLE[] ={ + sAnim_GeneralFrame0, + sAnim_WEEDLE_1, }; -const union AnimCmd *const gAnims_KAKUNA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KAKUNA_1, +static const union AnimCmd *const sAnims_KAKUNA[] ={ + sAnim_GeneralFrame0, + sAnim_KAKUNA_1, }; -const union AnimCmd *const gAnims_BEEDRILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BEEDRILL_1, +static const union AnimCmd *const sAnims_BEEDRILL[] ={ + sAnim_GeneralFrame0, + sAnim_BEEDRILL_1, }; -const union AnimCmd *const gAnims_PIDGEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEY_1, +static const union AnimCmd *const sAnims_PIDGEY[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEY_1, }; -const union AnimCmd *const gAnims_PIDGEOTTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEOTTO_1, +static const union AnimCmd *const sAnims_PIDGEOTTO[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEOTTO_1, }; -const union AnimCmd *const gAnims_PIDGEOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIDGEOT_1, +static const union AnimCmd *const sAnims_PIDGEOT[] ={ + sAnim_GeneralFrame0, + sAnim_PIDGEOT_1, }; -const union AnimCmd *const gAnims_RATTATA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RATTATA_1, +static const union AnimCmd *const sAnims_RATTATA[] ={ + sAnim_GeneralFrame0, + sAnim_RATTATA_1, }; -const union AnimCmd *const gAnims_RATICATE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RATICATE_1, +static const union AnimCmd *const sAnims_RATICATE[] ={ + sAnim_GeneralFrame0, + sAnim_RATICATE_1, }; -const union AnimCmd *const gAnims_SPEAROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPEAROW_1, +static const union AnimCmd *const sAnims_SPEAROW[] ={ + sAnim_GeneralFrame0, + sAnim_SPEAROW_1, }; -const union AnimCmd *const gAnims_FEAROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FEAROW_1, +static const union AnimCmd *const sAnims_FEAROW[] ={ + sAnim_GeneralFrame0, + sAnim_FEAROW_1, }; -const union AnimCmd *const gAnims_EKANS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EKANS_1, +static const union AnimCmd *const sAnims_EKANS[] ={ + sAnim_GeneralFrame0, + sAnim_EKANS_1, }; -const union AnimCmd *const gAnims_ARBOK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARBOK_1, +static const union AnimCmd *const sAnims_ARBOK[] ={ + sAnim_GeneralFrame0, + sAnim_ARBOK_1, }; -const union AnimCmd *const gAnims_PIKACHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PIKACHU_1, - gAnimCmd_PIKACHU_2, +static const union AnimCmd *const sAnims_PIKACHU[] ={ + sAnim_GeneralFrame0, + sAnim_PIKACHU_1, + sAnim_PIKACHU_2, }; -const union AnimCmd *const gAnims_RAICHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAICHU_1, - gAnimCmd_RAICHU_2, +static const union AnimCmd *const sAnims_RAICHU[] ={ + sAnim_GeneralFrame0, + sAnim_RAICHU_1, + sAnim_RAICHU_2, }; -const union AnimCmd *const gAnims_SANDSHREW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SANDSHREW_1, - gAnimCmd_SANDSHREW_2, +static const union AnimCmd *const sAnims_SANDSHREW[] ={ + sAnim_GeneralFrame0, + sAnim_SANDSHREW_1, + sAnim_SANDSHREW_2, }; -const union AnimCmd *const gAnims_SANDSLASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SANDSLASH_1, - gAnimCmd_SANDSLASH_2, +static const union AnimCmd *const sAnims_SANDSLASH[] ={ + sAnim_GeneralFrame0, + sAnim_SANDSLASH_1, + sAnim_SANDSLASH_2, }; -const union AnimCmd *const gAnims_NIDORAN_F[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORAN_F_1, +static const union AnimCmd *const sAnims_NIDORAN_F[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORAN_F_1, }; -const union AnimCmd *const gAnims_NIDORINA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORINA_1, +static const union AnimCmd *const sAnims_NIDORINA[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORINA_1, }; -const union AnimCmd *const gAnims_NIDOQUEEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDOQUEEN_1, +static const union AnimCmd *const sAnims_NIDOQUEEN[] ={ + sAnim_GeneralFrame0, + sAnim_NIDOQUEEN_1, }; -const union AnimCmd *const gAnims_NIDORAN_M[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORAN_M_1, +static const union AnimCmd *const sAnims_NIDORAN_M[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORAN_M_1, }; -const union AnimCmd *const gAnims_NIDORINO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDORINO_1, +static const union AnimCmd *const sAnims_NIDORINO[] ={ + sAnim_GeneralFrame0, + sAnim_NIDORINO_1, }; -const union AnimCmd *const gAnims_NIDOKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NIDOKING_1, +static const union AnimCmd *const sAnims_NIDOKING[] ={ + sAnim_GeneralFrame0, + sAnim_NIDOKING_1, }; -const union AnimCmd *const gAnims_CLEFAIRY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFAIRY_1, +static const union AnimCmd *const sAnims_CLEFAIRY[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFAIRY_1, }; -const union AnimCmd *const gAnims_CLEFABLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFABLE_1, +static const union AnimCmd *const sAnims_CLEFABLE[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFABLE_1, }; -const union AnimCmd *const gAnims_VULPIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VULPIX_1, - gAnimCmd_VULPIX_2, +static const union AnimCmd *const sAnims_VULPIX[] ={ + sAnim_GeneralFrame0, + sAnim_VULPIX_1, + sAnim_VULPIX_2, }; -const union AnimCmd *const gAnims_NINETALES[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINETALES_1, - gAnimCmd_NINETALES_2, +static const union AnimCmd *const sAnims_NINETALES[] ={ + sAnim_GeneralFrame0, + sAnim_NINETALES_1, + sAnim_NINETALES_2, }; -const union AnimCmd *const gAnims_JIGGLYPUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JIGGLYPUFF_1, - gAnimCmd_JIGGLYPUFF_2, +static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={ + sAnim_GeneralFrame0, + sAnim_JIGGLYPUFF_1, + sAnim_JIGGLYPUFF_2, }; -const union AnimCmd *const gAnims_WIGGLYTUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WIGGLYTUFF_1, - gAnimCmd_WIGGLYTUFF_2, +static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={ + sAnim_GeneralFrame0, + sAnim_WIGGLYTUFF_1, + sAnim_WIGGLYTUFF_2, }; -const union AnimCmd *const gAnims_ZUBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZUBAT_1, +static const union AnimCmd *const sAnims_ZUBAT[] ={ + sAnim_GeneralFrame0, + sAnim_ZUBAT_1, }; -const union AnimCmd *const gAnims_GOLBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLBAT_1, +static const union AnimCmd *const sAnims_GOLBAT[] ={ + sAnim_GeneralFrame0, + sAnim_GOLBAT_1, }; -const union AnimCmd *const gAnims_ODDISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ODDISH_1, +static const union AnimCmd *const sAnims_ODDISH[] ={ + sAnim_GeneralFrame0, + sAnim_ODDISH_1, }; -const union AnimCmd *const gAnims_GLOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLOOM_1, +static const union AnimCmd *const sAnims_GLOOM[] ={ + sAnim_GeneralFrame0, + sAnim_GLOOM_1, }; -const union AnimCmd *const gAnims_VILEPLUME[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VILEPLUME_1, +static const union AnimCmd *const sAnims_VILEPLUME[] ={ + sAnim_GeneralFrame0, + sAnim_VILEPLUME_1, }; -const union AnimCmd *const gAnims_PARAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PARAS_1, +static const union AnimCmd *const sAnims_PARAS[] ={ + sAnim_GeneralFrame0, + sAnim_PARAS_1, }; -const union AnimCmd *const gAnims_PARASECT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PARASECT_1, +static const union AnimCmd *const sAnims_PARASECT[] ={ + sAnim_GeneralFrame0, + sAnim_PARASECT_1, }; -const union AnimCmd *const gAnims_VENONAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENONAT_1, +static const union AnimCmd *const sAnims_VENONAT[] ={ + sAnim_GeneralFrame0, + sAnim_VENONAT_1, }; -const union AnimCmd *const gAnims_VENOMOTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VENOMOTH_1, +static const union AnimCmd *const sAnims_VENOMOTH[] ={ + sAnim_GeneralFrame0, + sAnim_VENOMOTH_1, }; -const union AnimCmd *const gAnims_DIGLETT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DIGLETT_1, +static const union AnimCmd *const sAnims_DIGLETT[] ={ + sAnim_GeneralFrame0, + sAnim_DIGLETT_1, }; -const union AnimCmd *const gAnims_DUGTRIO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUGTRIO_1, +static const union AnimCmd *const sAnims_DUGTRIO[] ={ + sAnim_GeneralFrame0, + sAnim_DUGTRIO_1, }; -const union AnimCmd *const gAnims_MEOWTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEOWTH_1, +static const union AnimCmd *const sAnims_MEOWTH[] ={ + sAnim_GeneralFrame0, + sAnim_MEOWTH_1, }; -const union AnimCmd *const gAnims_PERSIAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PERSIAN_1, +static const union AnimCmd *const sAnims_PERSIAN[] ={ + sAnim_GeneralFrame0, + sAnim_PERSIAN_1, }; -const union AnimCmd *const gAnims_PSYDUCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PSYDUCK_1, - gAnimCmd_PSYDUCK_2, +static const union AnimCmd *const sAnims_PSYDUCK[] ={ + sAnim_GeneralFrame0, + sAnim_PSYDUCK_1, + sAnim_PSYDUCK_2, }; -const union AnimCmd *const gAnims_GOLDUCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLDUCK_1, - gAnimCmd_GOLDUCK_2, +static const union AnimCmd *const sAnims_GOLDUCK[] ={ + sAnim_GeneralFrame0, + sAnim_GOLDUCK_1, + sAnim_GOLDUCK_2, }; -const union AnimCmd *const gAnims_MANKEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANKEY_1, +static const union AnimCmd *const sAnims_MANKEY[] ={ + sAnim_GeneralFrame0, + sAnim_MANKEY_1, }; -const union AnimCmd *const gAnims_PRIMEAPE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PRIMEAPE_1, +static const union AnimCmd *const sAnims_PRIMEAPE[] ={ + sAnim_GeneralFrame0, + sAnim_PRIMEAPE_1, }; -const union AnimCmd *const gAnims_GROWLITHE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROWLITHE_1, +static const union AnimCmd *const sAnims_GROWLITHE[] ={ + sAnim_GeneralFrame0, + sAnim_GROWLITHE_1, }; -const union AnimCmd *const gAnims_ARCANINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARCANINE_1, +static const union AnimCmd *const sAnims_ARCANINE[] ={ + sAnim_GeneralFrame0, + sAnim_ARCANINE_1, }; -const union AnimCmd *const gAnims_POLIWAG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWAG_1, +static const union AnimCmd *const sAnims_POLIWAG[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWAG_1, }; -const union AnimCmd *const gAnims_POLIWHIRL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWHIRL_1, +static const union AnimCmd *const sAnims_POLIWHIRL[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWHIRL_1, }; -const union AnimCmd *const gAnims_POLIWRATH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLIWRATH_1, +static const union AnimCmd *const sAnims_POLIWRATH[] ={ + sAnim_GeneralFrame0, + sAnim_POLIWRATH_1, }; -const union AnimCmd *const gAnims_ABRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ABRA_1, +static const union AnimCmd *const sAnims_ABRA[] ={ + sAnim_GeneralFrame0, + sAnim_ABRA_1, }; -const union AnimCmd *const gAnims_KADABRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KADABRA_1, +static const union AnimCmd *const sAnims_KADABRA[] ={ + sAnim_GeneralFrame0, + sAnim_KADABRA_1, }; -const union AnimCmd *const gAnims_ALAKAZAM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ALAKAZAM_1, +static const union AnimCmd *const sAnims_ALAKAZAM[] ={ + sAnim_GeneralFrame0, + sAnim_ALAKAZAM_1, }; -const union AnimCmd *const gAnims_MACHOP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHOP_1, +static const union AnimCmd *const sAnims_MACHOP[] ={ + sAnim_GeneralFrame0, + sAnim_MACHOP_1, }; -const union AnimCmd *const gAnims_MACHOKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHOKE_1, +static const union AnimCmd *const sAnims_MACHOKE[] ={ + sAnim_GeneralFrame0, + sAnim_MACHOKE_1, }; -const union AnimCmd *const gAnims_MACHAMP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MACHAMP_1, +static const union AnimCmd *const sAnims_MACHAMP[] ={ + sAnim_GeneralFrame0, + sAnim_MACHAMP_1, }; -const union AnimCmd *const gAnims_BELLSPROUT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELLSPROUT_1, +static const union AnimCmd *const sAnims_BELLSPROUT[] ={ + sAnim_GeneralFrame0, + sAnim_BELLSPROUT_1, }; -const union AnimCmd *const gAnims_WEEPINBELL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEPINBELL_1, +static const union AnimCmd *const sAnims_WEEPINBELL[] ={ + sAnim_GeneralFrame0, + sAnim_WEEPINBELL_1, }; -const union AnimCmd *const gAnims_VICTREEBEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VICTREEBEL_1, +static const union AnimCmd *const sAnims_VICTREEBEL[] ={ + sAnim_GeneralFrame0, + sAnim_VICTREEBEL_1, }; -const union AnimCmd *const gAnims_TENTACOOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TENTACOOL_1, +static const union AnimCmd *const sAnims_TENTACOOL[] ={ + sAnim_GeneralFrame0, + sAnim_TENTACOOL_1, }; -const union AnimCmd *const gAnims_TENTACRUEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TENTACRUEL_1, +static const union AnimCmd *const sAnims_TENTACRUEL[] ={ + sAnim_GeneralFrame0, + sAnim_TENTACRUEL_1, }; -const union AnimCmd *const gAnims_GEODUDE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GEODUDE_1, +static const union AnimCmd *const sAnims_GEODUDE[] ={ + sAnim_GeneralFrame0, + sAnim_GEODUDE_1, }; -const union AnimCmd *const gAnims_GRAVELER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRAVELER_1, +static const union AnimCmd *const sAnims_GRAVELER[] ={ + sAnim_GeneralFrame0, + sAnim_GRAVELER_1, }; -const union AnimCmd *const gAnims_GOLEM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLEM_1, +static const union AnimCmd *const sAnims_GOLEM[] ={ + sAnim_GeneralFrame0, + sAnim_GOLEM_1, }; -const union AnimCmd *const gAnims_PONYTA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PONYTA_1, +static const union AnimCmd *const sAnims_PONYTA[] ={ + sAnim_GeneralFrame0, + sAnim_PONYTA_1, }; -const union AnimCmd *const gAnims_RAPIDASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAPIDASH_1, +static const union AnimCmd *const sAnims_RAPIDASH[] ={ + sAnim_GeneralFrame0, + sAnim_RAPIDASH_1, }; -const union AnimCmd *const gAnims_SLOWPOKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWPOKE_1, +static const union AnimCmd *const sAnims_SLOWPOKE[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWPOKE_1, }; -const union AnimCmd *const gAnims_SLOWBRO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWBRO_1, +static const union AnimCmd *const sAnims_SLOWBRO[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWBRO_1, }; -const union AnimCmd *const gAnims_MAGNEMITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGNEMITE_1, +static const union AnimCmd *const sAnims_MAGNEMITE[] ={ + sAnim_GeneralFrame0, + sAnim_MAGNEMITE_1, }; -const union AnimCmd *const gAnims_MAGNETON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGNETON_1, +static const union AnimCmd *const sAnims_MAGNETON[] ={ + sAnim_GeneralFrame0, + sAnim_MAGNETON_1, }; -const union AnimCmd *const gAnims_FARFETCHD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FARFETCHD_1, +static const union AnimCmd *const sAnims_FARFETCHD[] ={ + sAnim_GeneralFrame0, + sAnim_FARFETCHD_1, }; -const union AnimCmd *const gAnims_DODUO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DODUO_1, +static const union AnimCmd *const sAnims_DODUO[] ={ + sAnim_GeneralFrame0, + sAnim_DODUO_1, }; -const union AnimCmd *const gAnims_DODRIO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DODRIO_1, +static const union AnimCmd *const sAnims_DODRIO[] ={ + sAnim_GeneralFrame0, + sAnim_DODRIO_1, }; -const union AnimCmd *const gAnims_SEEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEEL_1, +static const union AnimCmd *const sAnims_SEEL[] ={ + sAnim_GeneralFrame0, + sAnim_SEEL_1, }; -const union AnimCmd *const gAnims_DEWGONG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DEWGONG_1, +static const union AnimCmd *const sAnims_DEWGONG[] ={ + sAnim_GeneralFrame0, + sAnim_DEWGONG_1, }; -const union AnimCmd *const gAnims_GRIMER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRIMER_1, - gAnimCmd_GRIMER_2, +static const union AnimCmd *const sAnims_GRIMER[] ={ + sAnim_GeneralFrame0, + sAnim_GRIMER_1, + sAnim_GRIMER_2, }; -const union AnimCmd *const gAnims_MUK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MUK_1, - gAnimCmd_MUK_2, +static const union AnimCmd *const sAnims_MUK[] ={ + sAnim_GeneralFrame0, + sAnim_MUK_1, + sAnim_MUK_2, }; -const union AnimCmd *const gAnims_SHELLDER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHELLDER_1, +static const union AnimCmd *const sAnims_SHELLDER[] ={ + sAnim_GeneralFrame0, + sAnim_SHELLDER_1, }; -const union AnimCmd *const gAnims_CLOYSTER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLOYSTER_1, +static const union AnimCmd *const sAnims_CLOYSTER[] ={ + sAnim_GeneralFrame0, + sAnim_CLOYSTER_1, }; -const union AnimCmd *const gAnims_GASTLY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GASTLY_1, +static const union AnimCmd *const sAnims_GASTLY[] ={ + sAnim_GeneralFrame0, + sAnim_GASTLY_1, }; -const union AnimCmd *const gAnims_HAUNTER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HAUNTER_1, +static const union AnimCmd *const sAnims_HAUNTER[] ={ + sAnim_GeneralFrame0, + sAnim_HAUNTER_1, }; -const union AnimCmd *const gAnims_GENGAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GENGAR_1, +static const union AnimCmd *const sAnims_GENGAR[] ={ + sAnim_GeneralFrame0, + sAnim_GENGAR_1, }; -const union AnimCmd *const gAnims_ONIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ONIX_1, +static const union AnimCmd *const sAnims_ONIX[] ={ + sAnim_GeneralFrame0, + sAnim_ONIX_1, }; -const union AnimCmd *const gAnims_DROWZEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DROWZEE_1, +static const union AnimCmd *const sAnims_DROWZEE[] ={ + sAnim_GeneralFrame0, + sAnim_DROWZEE_1, }; -const union AnimCmd *const gAnims_HYPNO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HYPNO_1, +static const union AnimCmd *const sAnims_HYPNO[] ={ + sAnim_GeneralFrame0, + sAnim_HYPNO_1, }; -const union AnimCmd *const gAnims_KRABBY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KRABBY_1, +static const union AnimCmd *const sAnims_KRABBY[] ={ + sAnim_GeneralFrame0, + sAnim_KRABBY_1, }; -const union AnimCmd *const gAnims_KINGLER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KINGLER_1, +static const union AnimCmd *const sAnims_KINGLER[] ={ + sAnim_GeneralFrame0, + sAnim_KINGLER_1, }; -const union AnimCmd *const gAnims_VOLTORB[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VOLTORB_1, +static const union AnimCmd *const sAnims_VOLTORB[] ={ + sAnim_GeneralFrame0, + sAnim_VOLTORB_1, }; -const union AnimCmd *const gAnims_ELECTRODE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTRODE_1, +static const union AnimCmd *const sAnims_ELECTRODE[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTRODE_1, }; -const union AnimCmd *const gAnims_EXEGGCUTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXEGGCUTE_1, +static const union AnimCmd *const sAnims_EXEGGCUTE[] ={ + sAnim_GeneralFrame0, + sAnim_EXEGGCUTE_1, }; -const union AnimCmd *const gAnims_EXEGGUTOR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXEGGUTOR_1, +static const union AnimCmd *const sAnims_EXEGGUTOR[] ={ + sAnim_GeneralFrame0, + sAnim_EXEGGUTOR_1, }; -const union AnimCmd *const gAnims_CUBONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CUBONE_1, +static const union AnimCmd *const sAnims_CUBONE[] ={ + sAnim_GeneralFrame0, + sAnim_CUBONE_1, }; -const union AnimCmd *const gAnims_MAROWAK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAROWAK_1, +static const union AnimCmd *const sAnims_MAROWAK[] ={ + sAnim_GeneralFrame0, + sAnim_MAROWAK_1, }; -const union AnimCmd *const gAnims_HITMONLEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONLEE_1, +static const union AnimCmd *const sAnims_HITMONLEE[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONLEE_1, }; -const union AnimCmd *const gAnims_HITMONCHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONCHAN_1, +static const union AnimCmd *const sAnims_HITMONCHAN[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONCHAN_1, }; -const union AnimCmd *const gAnims_LICKITUNG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LICKITUNG_1, +static const union AnimCmd *const sAnims_LICKITUNG[] ={ + sAnim_GeneralFrame0, + sAnim_LICKITUNG_1, }; -const union AnimCmd *const gAnims_KOFFING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KOFFING_1, - gAnimCmd_KOFFING_2, +static const union AnimCmd *const sAnims_KOFFING[] ={ + sAnim_GeneralFrame0, + sAnim_KOFFING_1, + sAnim_KOFFING_2, }; -const union AnimCmd *const gAnims_WEEZING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WEEZING_1, - gAnimCmd_WEEZING_2, +static const union AnimCmd *const sAnims_WEEZING[] ={ + sAnim_GeneralFrame0, + sAnim_WEEZING_1, + sAnim_WEEZING_2, }; -const union AnimCmd *const gAnims_RHYHORN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RHYHORN_1, - gAnimCmd_RHYHORN_2, +static const union AnimCmd *const sAnims_RHYHORN[] ={ + sAnim_GeneralFrame0, + sAnim_RHYHORN_1, + sAnim_RHYHORN_2, }; -const union AnimCmd *const gAnims_RHYDON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RHYDON_1, - gAnimCmd_RHYDON_2, +static const union AnimCmd *const sAnims_RHYDON[] ={ + sAnim_GeneralFrame0, + sAnim_RHYDON_1, + sAnim_RHYDON_2, }; -const union AnimCmd *const gAnims_CHANSEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHANSEY_1, +static const union AnimCmd *const sAnims_CHANSEY[] ={ + sAnim_GeneralFrame0, + sAnim_CHANSEY_1, }; -const union AnimCmd *const gAnims_TANGELA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TANGELA_1, +static const union AnimCmd *const sAnims_TANGELA[] ={ + sAnim_GeneralFrame0, + sAnim_TANGELA_1, }; -const union AnimCmd *const gAnims_KANGASKHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KANGASKHAN_1, +static const union AnimCmd *const sAnims_KANGASKHAN[] ={ + sAnim_GeneralFrame0, + sAnim_KANGASKHAN_1, }; -const union AnimCmd *const gAnims_HORSEA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HORSEA_1, - gAnimCmd_HORSEA_2, +static const union AnimCmd *const sAnims_HORSEA[] ={ + sAnim_GeneralFrame0, + sAnim_HORSEA_1, + sAnim_HORSEA_2, }; -const union AnimCmd *const gAnims_SEADRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEADRA_1, - gAnimCmd_SEADRA_2, +static const union AnimCmd *const sAnims_SEADRA[] ={ + sAnim_GeneralFrame0, + sAnim_SEADRA_1, + sAnim_SEADRA_2, }; -const union AnimCmd *const gAnims_GOLDEEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOLDEEN_1, +static const union AnimCmd *const sAnims_GOLDEEN[] ={ + sAnim_GeneralFrame0, + sAnim_GOLDEEN_1, }; -const union AnimCmd *const gAnims_SEAKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEAKING_1, +static const union AnimCmd *const sAnims_SEAKING[] ={ + sAnim_GeneralFrame0, + sAnim_SEAKING_1, }; -const union AnimCmd *const gAnims_STARYU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STARYU_1, - gAnimCmd_STARYU_2, +static const union AnimCmd *const sAnims_STARYU[] ={ + sAnim_GeneralFrame0, + sAnim_STARYU_1, + sAnim_STARYU_2, }; -const union AnimCmd *const gAnims_STARMIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STARMIE_1, - gAnimCmd_STARMIE_2, +static const union AnimCmd *const sAnims_STARMIE[] ={ + sAnim_GeneralFrame0, + sAnim_STARMIE_1, + sAnim_STARMIE_2, }; -const union AnimCmd *const gAnims_MR_MIME[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MR_MIME_1, +static const union AnimCmd *const sAnims_MR_MIME[] ={ + sAnim_GeneralFrame0, + sAnim_MR_MIME_1, }; -const union AnimCmd *const gAnims_SCYTHER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCYTHER_1, +static const union AnimCmd *const sAnims_SCYTHER[] ={ + sAnim_GeneralFrame0, + sAnim_SCYTHER_1, }; -const union AnimCmd *const gAnims_JYNX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JYNX_1, +static const union AnimCmd *const sAnims_JYNX[] ={ + sAnim_GeneralFrame0, + sAnim_JYNX_1, }; -const union AnimCmd *const gAnims_ELECTABUZZ[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTABUZZ_1, +static const union AnimCmd *const sAnims_ELECTABUZZ[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTABUZZ_1, }; -const union AnimCmd *const gAnims_MAGMAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGMAR_1, +static const union AnimCmd *const sAnims_MAGMAR[] ={ + sAnim_GeneralFrame0, + sAnim_MAGMAR_1, }; -const union AnimCmd *const gAnims_PINSIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PINSIR_1, - gAnimCmd_PINSIR_2, +static const union AnimCmd *const sAnims_PINSIR[] ={ + sAnim_GeneralFrame0, + sAnim_PINSIR_1, + sAnim_PINSIR_2, }; -const union AnimCmd *const gAnims_TAUROS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TAUROS_1, +static const union AnimCmd *const sAnims_TAUROS[] ={ + sAnim_GeneralFrame0, + sAnim_TAUROS_1, }; -const union AnimCmd *const gAnims_MAGIKARP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGIKARP_1, +static const union AnimCmd *const sAnims_MAGIKARP[] ={ + sAnim_GeneralFrame0, + sAnim_MAGIKARP_1, }; -const union AnimCmd *const gAnims_GYARADOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GYARADOS_1, +static const union AnimCmd *const sAnims_GYARADOS[] ={ + sAnim_GeneralFrame0, + sAnim_GYARADOS_1, }; -const union AnimCmd *const gAnims_LAPRAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LAPRAS_1, +static const union AnimCmd *const sAnims_LAPRAS[] ={ + sAnim_GeneralFrame0, + sAnim_LAPRAS_1, }; -const union AnimCmd *const gAnims_DITTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DITTO_1, +static const union AnimCmd *const sAnims_DITTO[] ={ + sAnim_GeneralFrame0, + sAnim_DITTO_1, }; -const union AnimCmd *const gAnims_EEVEE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EEVEE_1, +static const union AnimCmd *const sAnims_EEVEE[] ={ + sAnim_GeneralFrame0, + sAnim_EEVEE_1, }; -const union AnimCmd *const gAnims_VAPOREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VAPOREON_1, +static const union AnimCmd *const sAnims_VAPOREON[] ={ + sAnim_GeneralFrame0, + sAnim_VAPOREON_1, }; -const union AnimCmd *const gAnims_JOLTEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JOLTEON_1, +static const union AnimCmd *const sAnims_JOLTEON[] ={ + sAnim_GeneralFrame0, + sAnim_JOLTEON_1, }; -const union AnimCmd *const gAnims_FLAREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLAREON_1, +static const union AnimCmd *const sAnims_FLAREON[] ={ + sAnim_GeneralFrame0, + sAnim_FLAREON_1, }; -const union AnimCmd *const gAnims_PORYGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PORYGON_1, +static const union AnimCmd *const sAnims_PORYGON[] ={ + sAnim_GeneralFrame0, + sAnim_PORYGON_1, }; -const union AnimCmd *const gAnims_OMANYTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OMANYTE_1, +static const union AnimCmd *const sAnims_OMANYTE[] ={ + sAnim_GeneralFrame0, + sAnim_OMANYTE_1, }; -const union AnimCmd *const gAnims_OMASTAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OMASTAR_1, +static const union AnimCmd *const sAnims_OMASTAR[] ={ + sAnim_GeneralFrame0, + sAnim_OMASTAR_1, }; -const union AnimCmd *const gAnims_KABUTO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KABUTO_1, +static const union AnimCmd *const sAnims_KABUTO[] ={ + sAnim_GeneralFrame0, + sAnim_KABUTO_1, }; -const union AnimCmd *const gAnims_KABUTOPS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KABUTOPS_1, +static const union AnimCmd *const sAnims_KABUTOPS[] ={ + sAnim_GeneralFrame0, + sAnim_KABUTOPS_1, }; -const union AnimCmd *const gAnims_AERODACTYL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AERODACTYL_1, +static const union AnimCmd *const sAnims_AERODACTYL[] ={ + sAnim_GeneralFrame0, + sAnim_AERODACTYL_1, }; -const union AnimCmd *const gAnims_SNORLAX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNORLAX_1, +static const union AnimCmd *const sAnims_SNORLAX[] ={ + sAnim_GeneralFrame0, + sAnim_SNORLAX_1, }; -const union AnimCmd *const gAnims_ARTICUNO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARTICUNO_1, +static const union AnimCmd *const sAnims_ARTICUNO[] ={ + sAnim_GeneralFrame0, + sAnim_ARTICUNO_1, }; -const union AnimCmd *const gAnims_ZAPDOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZAPDOS_1, +static const union AnimCmd *const sAnims_ZAPDOS[] ={ + sAnim_GeneralFrame0, + sAnim_ZAPDOS_1, }; -const union AnimCmd *const gAnims_MOLTRES[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MOLTRES_1, +static const union AnimCmd *const sAnims_MOLTRES[] ={ + sAnim_GeneralFrame0, + sAnim_MOLTRES_1, }; -const union AnimCmd *const gAnims_DRATINI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRATINI_1, +static const union AnimCmd *const sAnims_DRATINI[] ={ + sAnim_GeneralFrame0, + sAnim_DRATINI_1, }; -const union AnimCmd *const gAnims_DRAGONAIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRAGONAIR_1, +static const union AnimCmd *const sAnims_DRAGONAIR[] ={ + sAnim_GeneralFrame0, + sAnim_DRAGONAIR_1, }; -const union AnimCmd *const gAnims_DRAGONITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DRAGONITE_1, +static const union AnimCmd *const sAnims_DRAGONITE[] ={ + sAnim_GeneralFrame0, + sAnim_DRAGONITE_1, }; -const union AnimCmd *const gAnims_MEWTWO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEWTWO_1, +static const union AnimCmd *const sAnims_MEWTWO[] ={ + sAnim_GeneralFrame0, + sAnim_MEWTWO_1, }; -const union AnimCmd *const gAnims_MEW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEW_1, +static const union AnimCmd *const sAnims_MEW[] ={ + sAnim_GeneralFrame0, + sAnim_MEW_1, }; -const union AnimCmd *const gAnims_CHIKORITA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHIKORITA_1, +static const union AnimCmd *const sAnims_CHIKORITA[] ={ + sAnim_GeneralFrame0, + sAnim_CHIKORITA_1, }; -const union AnimCmd *const gAnims_BAYLEEF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BAYLEEF_1, +static const union AnimCmd *const sAnims_BAYLEEF[] ={ + sAnim_GeneralFrame0, + sAnim_BAYLEEF_1, }; -const union AnimCmd *const gAnims_MEGANIUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEGANIUM_1, +static const union AnimCmd *const sAnims_MEGANIUM[] ={ + sAnim_GeneralFrame0, + sAnim_MEGANIUM_1, }; -const union AnimCmd *const gAnims_CYNDAQUIL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CYNDAQUIL_1, +static const union AnimCmd *const sAnims_CYNDAQUIL[] ={ + sAnim_GeneralFrame0, + sAnim_CYNDAQUIL_1, }; -const union AnimCmd *const gAnims_QUILAVA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QUILAVA_1, +static const union AnimCmd *const sAnims_QUILAVA[] ={ + sAnim_GeneralFrame0, + sAnim_QUILAVA_1, }; -const union AnimCmd *const gAnims_TYPHLOSION[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYPHLOSION_1, +static const union AnimCmd *const sAnims_TYPHLOSION[] ={ + sAnim_GeneralFrame0, + sAnim_TYPHLOSION_1, }; -const union AnimCmd *const gAnims_TOTODILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOTODILE_1, +static const union AnimCmd *const sAnims_TOTODILE[] ={ + sAnim_GeneralFrame0, + sAnim_TOTODILE_1, }; -const union AnimCmd *const gAnims_CROCONAW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CROCONAW_1, +static const union AnimCmd *const sAnims_CROCONAW[] ={ + sAnim_GeneralFrame0, + sAnim_CROCONAW_1, }; -const union AnimCmd *const gAnims_FERALIGATR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FERALIGATR_1, +static const union AnimCmd *const sAnims_FERALIGATR[] ={ + sAnim_GeneralFrame0, + sAnim_FERALIGATR_1, }; -const union AnimCmd *const gAnims_SENTRET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SENTRET_1, +static const union AnimCmd *const sAnims_SENTRET[] ={ + sAnim_GeneralFrame0, + sAnim_SENTRET_1, }; -const union AnimCmd *const gAnims_FURRET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FURRET_1, +static const union AnimCmd *const sAnims_FURRET[] ={ + sAnim_GeneralFrame0, + sAnim_FURRET_1, }; -const union AnimCmd *const gAnims_HOOTHOOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOOTHOOT_1, +static const union AnimCmd *const sAnims_HOOTHOOT[] ={ + sAnim_GeneralFrame0, + sAnim_HOOTHOOT_1, }; -const union AnimCmd *const gAnims_NOCTOWL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NOCTOWL_1, +static const union AnimCmd *const sAnims_NOCTOWL[] ={ + sAnim_GeneralFrame0, + sAnim_NOCTOWL_1, }; -const union AnimCmd *const gAnims_LEDYBA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LEDYBA_1, +static const union AnimCmd *const sAnims_LEDYBA[] ={ + sAnim_GeneralFrame0, + sAnim_LEDYBA_1, }; -const union AnimCmd *const gAnims_LEDIAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LEDIAN_1, +static const union AnimCmd *const sAnims_LEDIAN[] ={ + sAnim_GeneralFrame0, + sAnim_LEDIAN_1, }; -const union AnimCmd *const gAnims_SPINARAK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPINARAK_1, +static const union AnimCmd *const sAnims_SPINARAK[] ={ + sAnim_GeneralFrame0, + sAnim_SPINARAK_1, }; -const union AnimCmd *const gAnims_ARIADOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARIADOS_1, +static const union AnimCmd *const sAnims_ARIADOS[] ={ + sAnim_GeneralFrame0, + sAnim_ARIADOS_1, }; -const union AnimCmd *const gAnims_CROBAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CROBAT_1, +static const union AnimCmd *const sAnims_CROBAT[] ={ + sAnim_GeneralFrame0, + sAnim_CROBAT_1, }; -const union AnimCmd *const gAnims_CHINCHOU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHINCHOU_1, - gAnimCmd_CHINCHOU_2, +static const union AnimCmd *const sAnims_CHINCHOU[] ={ + sAnim_GeneralFrame0, + sAnim_CHINCHOU_1, + sAnim_CHINCHOU_2, }; -const union AnimCmd *const gAnims_LANTURN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LANTURN_1, - gAnimCmd_LANTURN_2, +static const union AnimCmd *const sAnims_LANTURN[] ={ + sAnim_GeneralFrame0, + sAnim_LANTURN_1, + sAnim_LANTURN_2, }; -const union AnimCmd *const gAnims_PICHU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PICHU_1, - gAnimCmd_PICHU_2, +static const union AnimCmd *const sAnims_PICHU[] ={ + sAnim_GeneralFrame0, + sAnim_PICHU_1, + sAnim_PICHU_2, }; -const union AnimCmd *const gAnims_CLEFFA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLEFFA_1, +static const union AnimCmd *const sAnims_CLEFFA[] ={ + sAnim_GeneralFrame0, + sAnim_CLEFFA_1, }; -const union AnimCmd *const gAnims_IGGLYBUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_IGGLYBUFF_1, - gAnimCmd_IGGLYBUFF_2, +static const union AnimCmd *const sAnims_IGGLYBUFF[] ={ + sAnim_GeneralFrame0, + sAnim_IGGLYBUFF_1, + sAnim_IGGLYBUFF_2, }; -const union AnimCmd *const gAnims_TOGEPI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOGEPI_1, +static const union AnimCmd *const sAnims_TOGEPI[] ={ + sAnim_GeneralFrame0, + sAnim_TOGEPI_1, }; -const union AnimCmd *const gAnims_TOGETIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TOGETIC_1, +static const union AnimCmd *const sAnims_TOGETIC[] ={ + sAnim_GeneralFrame0, + sAnim_TOGETIC_1, }; -const union AnimCmd *const gAnims_NATU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NATU_1, - gAnimCmd_NATU_2, +static const union AnimCmd *const sAnims_NATU[] ={ + sAnim_GeneralFrame0, + sAnim_NATU_1, + sAnim_NATU_2, }; -const union AnimCmd *const gAnims_XATU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_XATU_1, - gAnimCmd_XATU_2, +static const union AnimCmd *const sAnims_XATU[] ={ + sAnim_GeneralFrame0, + sAnim_XATU_1, + sAnim_XATU_2, }; -const union AnimCmd *const gAnims_MAREEP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAREEP_1, +static const union AnimCmd *const sAnims_MAREEP[] ={ + sAnim_GeneralFrame0, + sAnim_MAREEP_1, }; -const union AnimCmd *const gAnims_FLAAFFY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLAAFFY_1, +static const union AnimCmd *const sAnims_FLAAFFY[] ={ + sAnim_GeneralFrame0, + sAnim_FLAAFFY_1, }; -const union AnimCmd *const gAnims_AMPHAROS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AMPHAROS_1, +static const union AnimCmd *const sAnims_AMPHAROS[] ={ + sAnim_GeneralFrame0, + sAnim_AMPHAROS_1, }; -const union AnimCmd *const gAnims_BELLOSSOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELLOSSOM_1, +static const union AnimCmd *const sAnims_BELLOSSOM[] ={ + sAnim_GeneralFrame0, + sAnim_BELLOSSOM_1, }; -const union AnimCmd *const gAnims_MARILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MARILL_1, +static const union AnimCmd *const sAnims_MARILL[] ={ + sAnim_GeneralFrame0, + sAnim_MARILL_1, }; -const union AnimCmd *const gAnims_AZUMARILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AZUMARILL_1, +static const union AnimCmd *const sAnims_AZUMARILL[] ={ + sAnim_GeneralFrame0, + sAnim_AZUMARILL_1, }; -const union AnimCmd *const gAnims_SUDOWOODO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUDOWOODO_1, +static const union AnimCmd *const sAnims_SUDOWOODO[] ={ + sAnim_GeneralFrame0, + sAnim_SUDOWOODO_1, }; -const union AnimCmd *const gAnims_POLITOED[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POLITOED_1, +static const union AnimCmd *const sAnims_POLITOED[] ={ + sAnim_GeneralFrame0, + sAnim_POLITOED_1, }; -const union AnimCmd *const gAnims_HOPPIP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOPPIP_1, +static const union AnimCmd *const sAnims_HOPPIP[] ={ + sAnim_GeneralFrame0, + sAnim_HOPPIP_1, }; -const union AnimCmd *const gAnims_SKIPLOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKIPLOOM_1, +static const union AnimCmd *const sAnims_SKIPLOOM[] ={ + sAnim_GeneralFrame0, + sAnim_SKIPLOOM_1, }; -const union AnimCmd *const gAnims_JUMPLUFF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JUMPLUFF_1, +static const union AnimCmd *const sAnims_JUMPLUFF[] ={ + sAnim_GeneralFrame0, + sAnim_JUMPLUFF_1, }; -const union AnimCmd *const gAnims_AIPOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AIPOM_1, +static const union AnimCmd *const sAnims_AIPOM[] ={ + sAnim_GeneralFrame0, + sAnim_AIPOM_1, }; -const union AnimCmd *const gAnims_SUNKERN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUNKERN_1, +static const union AnimCmd *const sAnims_SUNKERN[] ={ + sAnim_GeneralFrame0, + sAnim_SUNKERN_1, }; -const union AnimCmd *const gAnims_SUNFLORA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUNFLORA_1, +static const union AnimCmd *const sAnims_SUNFLORA[] ={ + sAnim_GeneralFrame0, + sAnim_SUNFLORA_1, }; -const union AnimCmd *const gAnims_YANMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_YANMA_1, +static const union AnimCmd *const sAnims_YANMA[] ={ + sAnim_GeneralFrame0, + sAnim_YANMA_1, }; -const union AnimCmd *const gAnims_WOOPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WOOPER_1, +static const union AnimCmd *const sAnims_WOOPER[] ={ + sAnim_GeneralFrame0, + sAnim_WOOPER_1, }; -const union AnimCmd *const gAnims_QUAGSIRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QUAGSIRE_1, +static const union AnimCmd *const sAnims_QUAGSIRE[] ={ + sAnim_GeneralFrame0, + sAnim_QUAGSIRE_1, }; -const union AnimCmd *const gAnims_ESPEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ESPEON_1, +static const union AnimCmd *const sAnims_ESPEON[] ={ + sAnim_GeneralFrame0, + sAnim_ESPEON_1, }; -const union AnimCmd *const gAnims_UMBREON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UMBREON_1, +static const union AnimCmd *const sAnims_UMBREON[] ={ + sAnim_GeneralFrame0, + sAnim_UMBREON_1, }; -const union AnimCmd *const gAnims_MURKROW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MURKROW_1, +static const union AnimCmd *const sAnims_MURKROW[] ={ + sAnim_GeneralFrame0, + sAnim_MURKROW_1, }; -const union AnimCmd *const gAnims_SLOWKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLOWKING_1, +static const union AnimCmd *const sAnims_SLOWKING[] ={ + sAnim_GeneralFrame0, + sAnim_SLOWKING_1, }; -const union AnimCmd *const gAnims_MISDREAVUS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MISDREAVUS_1, +static const union AnimCmd *const sAnims_MISDREAVUS[] ={ + sAnim_GeneralFrame0, + sAnim_MISDREAVUS_1, }; -const union AnimCmd *const gAnims_UNOWN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_1, +static const union AnimCmd *const sAnims_UNOWN[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_1, }; -const union AnimCmd *const gAnims_WOBBUFFET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WOBBUFFET_1, - gAnimCmd_WOBBUFFET_2, +static const union AnimCmd *const sAnims_WOBBUFFET[] ={ + sAnim_GeneralFrame0, + sAnim_WOBBUFFET_1, + sAnim_WOBBUFFET_2, }; -const union AnimCmd *const gAnims_GIRAFARIG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GIRAFARIG_1, - gAnimCmd_GIRAFARIG_2, +static const union AnimCmd *const sAnims_GIRAFARIG[] ={ + sAnim_GeneralFrame0, + sAnim_GIRAFARIG_1, + sAnim_GIRAFARIG_2, }; -const union AnimCmd *const gAnims_PINECO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PINECO_1, +static const union AnimCmd *const sAnims_PINECO[] ={ + sAnim_GeneralFrame0, + sAnim_PINECO_1, }; -const union AnimCmd *const gAnims_FORRETRESS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FORRETRESS_1, +static const union AnimCmd *const sAnims_FORRETRESS[] ={ + sAnim_GeneralFrame0, + sAnim_FORRETRESS_1, }; -const union AnimCmd *const gAnims_DUNSPARCE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUNSPARCE_1, +static const union AnimCmd *const sAnims_DUNSPARCE[] ={ + sAnim_GeneralFrame0, + sAnim_DUNSPARCE_1, }; -const union AnimCmd *const gAnims_GLIGAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLIGAR_1, +static const union AnimCmd *const sAnims_GLIGAR[] ={ + sAnim_GeneralFrame0, + sAnim_GLIGAR_1, }; -const union AnimCmd *const gAnims_STEELIX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STEELIX_1, +static const union AnimCmd *const sAnims_STEELIX[] ={ + sAnim_GeneralFrame0, + sAnim_STEELIX_1, }; -const union AnimCmd *const gAnims_SNUBBULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNUBBULL_1, +static const union AnimCmd *const sAnims_SNUBBULL[] ={ + sAnim_GeneralFrame0, + sAnim_SNUBBULL_1, }; -const union AnimCmd *const gAnims_GRANBULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRANBULL_1, +static const union AnimCmd *const sAnims_GRANBULL[] ={ + sAnim_GeneralFrame0, + sAnim_GRANBULL_1, }; -const union AnimCmd *const gAnims_QWILFISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_QWILFISH_1, +static const union AnimCmd *const sAnims_QWILFISH[] ={ + sAnim_GeneralFrame0, + sAnim_QWILFISH_1, }; -const union AnimCmd *const gAnims_SCIZOR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCIZOR_1, +static const union AnimCmd *const sAnims_SCIZOR[] ={ + sAnim_GeneralFrame0, + sAnim_SCIZOR_1, }; -const union AnimCmd *const gAnims_SHUCKLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHUCKLE_1, +static const union AnimCmd *const sAnims_SHUCKLE[] ={ + sAnim_GeneralFrame0, + sAnim_SHUCKLE_1, }; -const union AnimCmd *const gAnims_HERACROSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HERACROSS_1, - gAnimCmd_HERACROSS_2, +static const union AnimCmd *const sAnims_HERACROSS[] ={ + sAnim_GeneralFrame0, + sAnim_HERACROSS_1, + sAnim_HERACROSS_2, }; -const union AnimCmd *const gAnims_SNEASEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNEASEL_1, +static const union AnimCmd *const sAnims_SNEASEL[] ={ + sAnim_GeneralFrame0, + sAnim_SNEASEL_1, }; -const union AnimCmd *const gAnims_TEDDIURSA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TEDDIURSA_1, +static const union AnimCmd *const sAnims_TEDDIURSA[] ={ + sAnim_GeneralFrame0, + sAnim_TEDDIURSA_1, }; -const union AnimCmd *const gAnims_URSARING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_URSARING_1, +static const union AnimCmd *const sAnims_URSARING[] ={ + sAnim_GeneralFrame0, + sAnim_URSARING_1, }; -const union AnimCmd *const gAnims_SLUGMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLUGMA_1, - gAnimCmd_SLUGMA_2, +static const union AnimCmd *const sAnims_SLUGMA[] ={ + sAnim_GeneralFrame0, + sAnim_SLUGMA_1, + sAnim_SLUGMA_2, }; -const union AnimCmd *const gAnims_MAGCARGO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGCARGO_1, - gAnimCmd_MAGCARGO_2, +static const union AnimCmd *const sAnims_MAGCARGO[] ={ + sAnim_GeneralFrame0, + sAnim_MAGCARGO_1, + sAnim_MAGCARGO_2, }; -const union AnimCmd *const gAnims_SWINUB[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWINUB_1, +static const union AnimCmd *const sAnims_SWINUB[] ={ + sAnim_GeneralFrame0, + sAnim_SWINUB_1, }; -const union AnimCmd *const gAnims_PILOSWINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PILOSWINE_1, +static const union AnimCmd *const sAnims_PILOSWINE[] ={ + sAnim_GeneralFrame0, + sAnim_PILOSWINE_1, }; -const union AnimCmd *const gAnims_CORSOLA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CORSOLA_1, - gAnimCmd_CORSOLA_2, +static const union AnimCmd *const sAnims_CORSOLA[] ={ + sAnim_GeneralFrame0, + sAnim_CORSOLA_1, + sAnim_CORSOLA_2, }; -const union AnimCmd *const gAnims_REMORAID[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REMORAID_1, +static const union AnimCmd *const sAnims_REMORAID[] ={ + sAnim_GeneralFrame0, + sAnim_REMORAID_1, }; -const union AnimCmd *const gAnims_OCTILLERY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OCTILLERY_1, +static const union AnimCmd *const sAnims_OCTILLERY[] ={ + sAnim_GeneralFrame0, + sAnim_OCTILLERY_1, }; -const union AnimCmd *const gAnims_DELIBIRD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DELIBIRD_1, +static const union AnimCmd *const sAnims_DELIBIRD[] ={ + sAnim_GeneralFrame0, + sAnim_DELIBIRD_1, }; -const union AnimCmd *const gAnims_MANTINE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANTINE_1, +static const union AnimCmd *const sAnims_MANTINE[] ={ + sAnim_GeneralFrame0, + sAnim_MANTINE_1, }; -const union AnimCmd *const gAnims_SKARMORY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKARMORY_1, - gAnimCmd_SKARMORY_2, +static const union AnimCmd *const sAnims_SKARMORY[] ={ + sAnim_GeneralFrame0, + sAnim_SKARMORY_1, + sAnim_SKARMORY_2, }; -const union AnimCmd *const gAnims_HOUNDOUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOUNDOUR_1, +static const union AnimCmd *const sAnims_HOUNDOUR[] ={ + sAnim_GeneralFrame0, + sAnim_HOUNDOUR_1, }; -const union AnimCmd *const gAnims_HOUNDOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HOUNDOOM_1, +static const union AnimCmd *const sAnims_HOUNDOOM[] ={ + sAnim_GeneralFrame0, + sAnim_HOUNDOOM_1, }; -const union AnimCmd *const gAnims_KINGDRA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KINGDRA_1, - gAnimCmd_KINGDRA_2, +static const union AnimCmd *const sAnims_KINGDRA[] ={ + sAnim_GeneralFrame0, + sAnim_KINGDRA_1, + sAnim_KINGDRA_2, }; -const union AnimCmd *const gAnims_PHANPY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PHANPY_1, - gAnimCmd_PHANPY_2, +static const union AnimCmd *const sAnims_PHANPY[] ={ + sAnim_GeneralFrame0, + sAnim_PHANPY_1, + sAnim_PHANPY_2, }; -const union AnimCmd *const gAnims_DONPHAN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DONPHAN_1, - gAnimCmd_DONPHAN_2, +static const union AnimCmd *const sAnims_DONPHAN[] ={ + sAnim_GeneralFrame0, + sAnim_DONPHAN_1, + sAnim_DONPHAN_2, }; -const union AnimCmd *const gAnims_PORYGON2[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PORYGON2_1, +static const union AnimCmd *const sAnims_PORYGON2[] ={ + sAnim_GeneralFrame0, + sAnim_PORYGON2_1, }; -const union AnimCmd *const gAnims_STANTLER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_STANTLER_1, +static const union AnimCmd *const sAnims_STANTLER[] ={ + sAnim_GeneralFrame0, + sAnim_STANTLER_1, }; -const union AnimCmd *const gAnims_SMEARGLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SMEARGLE_1, +static const union AnimCmd *const sAnims_SMEARGLE[] ={ + sAnim_GeneralFrame0, + sAnim_SMEARGLE_1, }; -const union AnimCmd *const gAnims_TYROGUE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYROGUE_1, +static const union AnimCmd *const sAnims_TYROGUE[] ={ + sAnim_GeneralFrame0, + sAnim_TYROGUE_1, }; -const union AnimCmd *const gAnims_HITMONTOP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HITMONTOP_1, +static const union AnimCmd *const sAnims_HITMONTOP[] ={ + sAnim_GeneralFrame0, + sAnim_HITMONTOP_1, }; -const union AnimCmd *const gAnims_SMOOCHUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SMOOCHUM_1, +static const union AnimCmd *const sAnims_SMOOCHUM[] ={ + sAnim_GeneralFrame0, + sAnim_SMOOCHUM_1, }; -const union AnimCmd *const gAnims_ELEKID[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELEKID_1, +static const union AnimCmd *const sAnims_ELEKID[] ={ + sAnim_GeneralFrame0, + sAnim_ELEKID_1, }; -const union AnimCmd *const gAnims_MAGBY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAGBY_1, +static const union AnimCmd *const sAnims_MAGBY[] ={ + sAnim_GeneralFrame0, + sAnim_MAGBY_1, }; -const union AnimCmd *const gAnims_MILTANK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MILTANK_1, +static const union AnimCmd *const sAnims_MILTANK[] ={ + sAnim_GeneralFrame0, + sAnim_MILTANK_1, }; -const union AnimCmd *const gAnims_BLISSEY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLISSEY_1, +static const union AnimCmd *const sAnims_BLISSEY[] ={ + sAnim_GeneralFrame0, + sAnim_BLISSEY_1, }; -const union AnimCmd *const gAnims_RAIKOU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAIKOU_1, +static const union AnimCmd *const sAnims_RAIKOU[] ={ + sAnim_GeneralFrame0, + sAnim_RAIKOU_1, }; -const union AnimCmd *const gAnims_ENTEI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ENTEI_1, +static const union AnimCmd *const sAnims_ENTEI[] ={ + sAnim_GeneralFrame0, + sAnim_ENTEI_1, }; -const union AnimCmd *const gAnims_SUICUNE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SUICUNE_1, +static const union AnimCmd *const sAnims_SUICUNE[] ={ + sAnim_GeneralFrame0, + sAnim_SUICUNE_1, }; -const union AnimCmd *const gAnims_LARVITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LARVITAR_1, +static const union AnimCmd *const sAnims_LARVITAR[] ={ + sAnim_GeneralFrame0, + sAnim_LARVITAR_1, }; -const union AnimCmd *const gAnims_PUPITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PUPITAR_1, +static const union AnimCmd *const sAnims_PUPITAR[] ={ + sAnim_GeneralFrame0, + sAnim_PUPITAR_1, }; -const union AnimCmd *const gAnims_TYRANITAR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TYRANITAR_1, +static const union AnimCmd *const sAnims_TYRANITAR[] ={ + sAnim_GeneralFrame0, + sAnim_TYRANITAR_1, }; -const union AnimCmd *const gAnims_LUGIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUGIA_1, +static const union AnimCmd *const sAnims_LUGIA[] ={ + sAnim_GeneralFrame0, + sAnim_LUGIA_1, }; -const union AnimCmd *const gAnims_HO_OH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HO_OH_1, +static const union AnimCmd *const sAnims_HO_OH[] ={ + sAnim_GeneralFrame0, + sAnim_HO_OH_1, }; -const union AnimCmd *const gAnims_CELEBI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CELEBI_1, +static const union AnimCmd *const sAnims_CELEBI[] ={ + sAnim_GeneralFrame0, + sAnim_CELEBI_1, }; -const union AnimCmd *const gAnims_OLD_UNOWN_B[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_OLD_UNOWN_B_1, +static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={ + sAnim_GeneralFrame0, + sAnim_OLD_UNOWN_B_1, }; -const union AnimCmd *const gAnims_TREECKO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TREECKO_1, +static const union AnimCmd *const sAnims_TREECKO[] ={ + sAnim_GeneralFrame0, + sAnim_TREECKO_1, }; -const union AnimCmd *const gAnims_GROVYLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROVYLE_1, +static const union AnimCmd *const sAnims_GROVYLE[] ={ + sAnim_GeneralFrame0, + sAnim_GROVYLE_1, }; -const union AnimCmd *const gAnims_SCEPTILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SCEPTILE_1, +static const union AnimCmd *const sAnims_SCEPTILE[] ={ + sAnim_GeneralFrame0, + sAnim_SCEPTILE_1, }; -const union AnimCmd *const gAnims_TORCHIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TORCHIC_1, +static const union AnimCmd *const sAnims_TORCHIC[] ={ + sAnim_GeneralFrame0, + sAnim_TORCHIC_1, }; -const union AnimCmd *const gAnims_COMBUSKEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_COMBUSKEN_1, +static const union AnimCmd *const sAnims_COMBUSKEN[] ={ + sAnim_GeneralFrame0, + sAnim_COMBUSKEN_1, }; -const union AnimCmd *const gAnims_BLAZIKEN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BLAZIKEN_1, - gAnimCmd_BLAZIKEN_2, - gAnimCmd_BLAZIKEN_3, - gAnimCmd_BLAZIKEN_4, +static const union AnimCmd *const sAnims_BLAZIKEN[] ={ + sAnim_GeneralFrame0, + sAnim_BLAZIKEN_1, + sAnim_BLAZIKEN_2, + sAnim_BLAZIKEN_3, + sAnim_BLAZIKEN_4, }; -const union AnimCmd *const gAnims_MUDKIP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MUDKIP_1, +static const union AnimCmd *const sAnims_MUDKIP[] ={ + sAnim_GeneralFrame0, + sAnim_MUDKIP_1, }; -const union AnimCmd *const gAnims_MARSHTOMP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MARSHTOMP_1, +static const union AnimCmd *const sAnims_MARSHTOMP[] ={ + sAnim_GeneralFrame0, + sAnim_MARSHTOMP_1, }; -const union AnimCmd *const gAnims_SWAMPERT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWAMPERT_1, +static const union AnimCmd *const sAnims_SWAMPERT[] ={ + sAnim_GeneralFrame0, + sAnim_SWAMPERT_1, }; -const union AnimCmd *const gAnims_POOCHYENA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_POOCHYENA_1, +static const union AnimCmd *const sAnims_POOCHYENA[] ={ + sAnim_GeneralFrame0, + sAnim_POOCHYENA_1, }; -const union AnimCmd *const gAnims_MIGHTYENA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MIGHTYENA_1, +static const union AnimCmd *const sAnims_MIGHTYENA[] ={ + sAnim_GeneralFrame0, + sAnim_MIGHTYENA_1, }; -const union AnimCmd *const gAnims_ZIGZAGOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZIGZAGOON_1, +static const union AnimCmd *const sAnims_ZIGZAGOON[] ={ + sAnim_GeneralFrame0, + sAnim_ZIGZAGOON_1, }; -const union AnimCmd *const gAnims_LINOONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LINOONE_1, +static const union AnimCmd *const sAnims_LINOONE[] ={ + sAnim_GeneralFrame0, + sAnim_LINOONE_1, }; -const union AnimCmd *const gAnims_WURMPLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WURMPLE_1, +static const union AnimCmd *const sAnims_WURMPLE[] ={ + sAnim_GeneralFrame0, + sAnim_WURMPLE_1, }; -const union AnimCmd *const gAnims_SILCOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SILCOON_1, - gAnimCmd_SILCOON_2, +static const union AnimCmd *const sAnims_SILCOON[] ={ + sAnim_GeneralFrame0, + sAnim_SILCOON_1, + sAnim_SILCOON_2, }; -const union AnimCmd *const gAnims_BEAUTIFLY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BEAUTIFLY_1, - gAnimCmd_BEAUTIFLY_2, +static const union AnimCmd *const sAnims_BEAUTIFLY[] ={ + sAnim_GeneralFrame0, + sAnim_BEAUTIFLY_1, + sAnim_BEAUTIFLY_2, }; -const union AnimCmd *const gAnims_CASCOON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CASCOON_1, - gAnimCmd_CASCOON_2, +static const union AnimCmd *const sAnims_CASCOON[] ={ + sAnim_GeneralFrame0, + sAnim_CASCOON_1, + sAnim_CASCOON_2, }; -const union AnimCmd *const gAnims_DUSTOX[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSTOX_1, - gAnimCmd_DUSTOX_2, +static const union AnimCmd *const sAnims_DUSTOX[] ={ + sAnim_GeneralFrame0, + sAnim_DUSTOX_1, + sAnim_DUSTOX_2, }; -const union AnimCmd *const gAnims_LOTAD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOTAD_1, +static const union AnimCmd *const sAnims_LOTAD[] ={ + sAnim_GeneralFrame0, + sAnim_LOTAD_1, }; -const union AnimCmd *const gAnims_LOMBRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOMBRE_1, +static const union AnimCmd *const sAnims_LOMBRE[] ={ + sAnim_GeneralFrame0, + sAnim_LOMBRE_1, }; -const union AnimCmd *const gAnims_LUDICOLO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUDICOLO_1, +static const union AnimCmd *const sAnims_LUDICOLO[] ={ + sAnim_GeneralFrame0, + sAnim_LUDICOLO_1, }; -const union AnimCmd *const gAnims_SEEDOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEEDOT_1, +static const union AnimCmd *const sAnims_SEEDOT[] ={ + sAnim_GeneralFrame0, + sAnim_SEEDOT_1, }; -const union AnimCmd *const gAnims_NUZLEAF[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NUZLEAF_1, +static const union AnimCmd *const sAnims_NUZLEAF[] ={ + sAnim_GeneralFrame0, + sAnim_NUZLEAF_1, }; -const union AnimCmd *const gAnims_SHIFTRY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHIFTRY_1, +static const union AnimCmd *const sAnims_SHIFTRY[] ={ + sAnim_GeneralFrame0, + sAnim_SHIFTRY_1, }; -const union AnimCmd *const gAnims_NINCADA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINCADA_1, +static const union AnimCmd *const sAnims_NINCADA[] ={ + sAnim_GeneralFrame0, + sAnim_NINCADA_1, }; -const union AnimCmd *const gAnims_NINJASK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NINJASK_1, +static const union AnimCmd *const sAnims_NINJASK[] ={ + sAnim_GeneralFrame0, + sAnim_NINJASK_1, }; -const union AnimCmd *const gAnims_SHEDINJA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHEDINJA_1, +static const union AnimCmd *const sAnims_SHEDINJA[] ={ + sAnim_GeneralFrame0, + sAnim_SHEDINJA_1, }; -const union AnimCmd *const gAnims_TAILLOW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TAILLOW_1, +static const union AnimCmd *const sAnims_TAILLOW[] ={ + sAnim_GeneralFrame0, + sAnim_TAILLOW_1, }; -const union AnimCmd *const gAnims_SWELLOW[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWELLOW_1, +static const union AnimCmd *const sAnims_SWELLOW[] ={ + sAnim_GeneralFrame0, + sAnim_SWELLOW_1, }; -const union AnimCmd *const gAnims_SHROOMISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHROOMISH_1, +static const union AnimCmd *const sAnims_SHROOMISH[] ={ + sAnim_GeneralFrame0, + sAnim_SHROOMISH_1, }; -const union AnimCmd *const gAnims_BRELOOM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BRELOOM_1, +static const union AnimCmd *const sAnims_BRELOOM[] ={ + sAnim_GeneralFrame0, + sAnim_BRELOOM_1, }; -const union AnimCmd *const gAnims_SPINDA[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SPINDA[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gAnims_WINGULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WINGULL_1, +static const union AnimCmd *const sAnims_WINGULL[] ={ + sAnim_GeneralFrame0, + sAnim_WINGULL_1, }; -const union AnimCmd *const gAnims_PELIPPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PELIPPER_1, +static const union AnimCmd *const sAnims_PELIPPER[] ={ + sAnim_GeneralFrame0, + sAnim_PELIPPER_1, }; -const union AnimCmd *const gAnims_SURSKIT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SURSKIT_1, - gAnimCmd_SURSKIT_2, +static const union AnimCmd *const sAnims_SURSKIT[] ={ + sAnim_GeneralFrame0, + sAnim_SURSKIT_1, + sAnim_SURSKIT_2, }; -const union AnimCmd *const gAnims_MASQUERAIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MASQUERAIN_1, - gAnimCmd_MASQUERAIN_2, +static const union AnimCmd *const sAnims_MASQUERAIN[] ={ + sAnim_GeneralFrame0, + sAnim_MASQUERAIN_1, + sAnim_MASQUERAIN_2, }; -const union AnimCmd *const gAnims_WAILMER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WAILMER_1, +static const union AnimCmd *const sAnims_WAILMER[] ={ + sAnim_GeneralFrame0, + sAnim_WAILMER_1, }; -const union AnimCmd *const gAnims_WAILORD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WAILORD_1, +static const union AnimCmd *const sAnims_WAILORD[] ={ + sAnim_GeneralFrame0, + sAnim_WAILORD_1, }; -const union AnimCmd *const gAnims_SKITTY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SKITTY_1, +static const union AnimCmd *const sAnims_SKITTY[] ={ + sAnim_GeneralFrame0, + sAnim_SKITTY_1, }; -const union AnimCmd *const gAnims_DELCATTY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DELCATTY_1, +static const union AnimCmd *const sAnims_DELCATTY[] ={ + sAnim_GeneralFrame0, + sAnim_DELCATTY_1, }; -const union AnimCmd *const gAnims_KECLEON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KECLEON_1, +static const union AnimCmd *const sAnims_KECLEON[] ={ + sAnim_GeneralFrame0, + sAnim_KECLEON_1, }; -const union AnimCmd *const gAnims_BALTOY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BALTOY_1, +static const union AnimCmd *const sAnims_BALTOY[] ={ + sAnim_GeneralFrame0, + sAnim_BALTOY_1, }; -const union AnimCmd *const gAnims_CLAYDOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLAYDOL_1, +static const union AnimCmd *const sAnims_CLAYDOL[] ={ + sAnim_GeneralFrame0, + sAnim_CLAYDOL_1, }; -const union AnimCmd *const gAnims_NOSEPASS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NOSEPASS_1, +static const union AnimCmd *const sAnims_NOSEPASS[] ={ + sAnim_GeneralFrame0, + sAnim_NOSEPASS_1, }; -const union AnimCmd *const gAnims_TORKOAL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TORKOAL_1, +static const union AnimCmd *const sAnims_TORKOAL[] ={ + sAnim_GeneralFrame0, + sAnim_TORKOAL_1, }; -const union AnimCmd *const gAnims_SABLEYE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SABLEYE_1, +static const union AnimCmd *const sAnims_SABLEYE[] ={ + sAnim_GeneralFrame0, + sAnim_SABLEYE_1, }; -const union AnimCmd *const gAnims_BARBOACH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BARBOACH_1, +static const union AnimCmd *const sAnims_BARBOACH[] ={ + sAnim_GeneralFrame0, + sAnim_BARBOACH_1, }; -const union AnimCmd *const gAnims_WHISCASH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WHISCASH_1, +static const union AnimCmd *const sAnims_WHISCASH[] ={ + sAnim_GeneralFrame0, + sAnim_WHISCASH_1, }; -const union AnimCmd *const gAnims_LUVDISC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUVDISC_1, +static const union AnimCmd *const sAnims_LUVDISC[] ={ + sAnim_GeneralFrame0, + sAnim_LUVDISC_1, }; -const union AnimCmd *const gAnims_CORPHISH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CORPHISH_1, +static const union AnimCmd *const sAnims_CORPHISH[] ={ + sAnim_GeneralFrame0, + sAnim_CORPHISH_1, }; -const union AnimCmd *const gAnims_CRAWDAUNT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CRAWDAUNT_1, +static const union AnimCmd *const sAnims_CRAWDAUNT[] ={ + sAnim_GeneralFrame0, + sAnim_CRAWDAUNT_1, }; -const union AnimCmd *const gAnims_FEEBAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FEEBAS_1, +static const union AnimCmd *const sAnims_FEEBAS[] ={ + sAnim_GeneralFrame0, + sAnim_FEEBAS_1, }; -const union AnimCmd *const gAnims_MILOTIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MILOTIC_1, +static const union AnimCmd *const sAnims_MILOTIC[] ={ + sAnim_GeneralFrame0, + sAnim_MILOTIC_1, }; -const union AnimCmd *const gAnims_CARVANHA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CARVANHA_1, +static const union AnimCmd *const sAnims_CARVANHA[] ={ + sAnim_GeneralFrame0, + sAnim_CARVANHA_1, }; -const union AnimCmd *const gAnims_SHARPEDO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHARPEDO_1, +static const union AnimCmd *const sAnims_SHARPEDO[] ={ + sAnim_GeneralFrame0, + sAnim_SHARPEDO_1, }; -const union AnimCmd *const gAnims_TRAPINCH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TRAPINCH_1, +static const union AnimCmd *const sAnims_TRAPINCH[] ={ + sAnim_GeneralFrame0, + sAnim_TRAPINCH_1, }; -const union AnimCmd *const gAnims_VIBRAVA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VIBRAVA_1, +static const union AnimCmd *const sAnims_VIBRAVA[] ={ + sAnim_GeneralFrame0, + sAnim_VIBRAVA_1, }; -const union AnimCmd *const gAnims_FLYGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_FLYGON_1, +static const union AnimCmd *const sAnims_FLYGON[] ={ + sAnim_GeneralFrame0, + sAnim_FLYGON_1, }; -const union AnimCmd *const gAnims_MAKUHITA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAKUHITA_1, +static const union AnimCmd *const sAnims_MAKUHITA[] ={ + sAnim_GeneralFrame0, + sAnim_MAKUHITA_1, }; -const union AnimCmd *const gAnims_HARIYAMA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HARIYAMA_1, +static const union AnimCmd *const sAnims_HARIYAMA[] ={ + sAnim_GeneralFrame0, + sAnim_HARIYAMA_1, }; -const union AnimCmd *const gAnims_ELECTRIKE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ELECTRIKE_1, +static const union AnimCmd *const sAnims_ELECTRIKE[] ={ + sAnim_GeneralFrame0, + sAnim_ELECTRIKE_1, }; -const union AnimCmd *const gAnims_MANECTRIC[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MANECTRIC_1, +static const union AnimCmd *const sAnims_MANECTRIC[] ={ + sAnim_GeneralFrame0, + sAnim_MANECTRIC_1, }; -const union AnimCmd *const gAnims_NUMEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_NUMEL_1, +static const union AnimCmd *const sAnims_NUMEL[] ={ + sAnim_GeneralFrame0, + sAnim_NUMEL_1, }; -const union AnimCmd *const gAnims_CAMERUPT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CAMERUPT_1, +static const union AnimCmd *const sAnims_CAMERUPT[] ={ + sAnim_GeneralFrame0, + sAnim_CAMERUPT_1, }; -const union AnimCmd *const gAnims_SPHEAL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPHEAL_1, +static const union AnimCmd *const sAnims_SPHEAL[] ={ + sAnim_GeneralFrame0, + sAnim_SPHEAL_1, }; -const union AnimCmd *const gAnims_SEALEO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEALEO_1, +static const union AnimCmd *const sAnims_SEALEO[] ={ + sAnim_GeneralFrame0, + sAnim_SEALEO_1, }; -const union AnimCmd *const gAnims_WALREIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WALREIN_1, +static const union AnimCmd *const sAnims_WALREIN[] ={ + sAnim_GeneralFrame0, + sAnim_WALREIN_1, }; -const union AnimCmd *const gAnims_CACNEA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CACNEA_1, +static const union AnimCmd *const sAnims_CACNEA[] ={ + sAnim_GeneralFrame0, + sAnim_CACNEA_1, }; -const union AnimCmd *const gAnims_CACTURNE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CACTURNE_1, +static const union AnimCmd *const sAnims_CACTURNE[] ={ + sAnim_GeneralFrame0, + sAnim_CACTURNE_1, }; -const union AnimCmd *const gAnims_SNORUNT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SNORUNT_1, +static const union AnimCmd *const sAnims_SNORUNT[] ={ + sAnim_GeneralFrame0, + sAnim_SNORUNT_1, }; -const union AnimCmd *const gAnims_GLALIE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GLALIE_1, +static const union AnimCmd *const sAnims_GLALIE[] ={ + sAnim_GeneralFrame0, + sAnim_GLALIE_1, }; -const union AnimCmd *const gAnims_LUNATONE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LUNATONE_1, - gAnimCmd_LUNATONE_2, +static const union AnimCmd *const sAnims_LUNATONE[] ={ + sAnim_GeneralFrame0, + sAnim_LUNATONE_1, + sAnim_LUNATONE_2, }; -const union AnimCmd *const gAnims_SOLROCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SOLROCK_1, - gAnimCmd_SOLROCK_2, +static const union AnimCmd *const sAnims_SOLROCK[] ={ + sAnim_GeneralFrame0, + sAnim_SOLROCK_1, + sAnim_SOLROCK_2, }; -const union AnimCmd *const gAnims_AZURILL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AZURILL_1, +static const union AnimCmd *const sAnims_AZURILL[] ={ + sAnim_GeneralFrame0, + sAnim_AZURILL_1, }; -const union AnimCmd *const gAnims_SPOINK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SPOINK_1, +static const union AnimCmd *const sAnims_SPOINK[] ={ + sAnim_GeneralFrame0, + sAnim_SPOINK_1, }; -const union AnimCmd *const gAnims_GRUMPIG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GRUMPIG_1, +static const union AnimCmd *const sAnims_GRUMPIG[] ={ + sAnim_GeneralFrame0, + sAnim_GRUMPIG_1, }; -const union AnimCmd *const gAnims_PLUSLE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_PLUSLE_1, +static const union AnimCmd *const sAnims_PLUSLE[] ={ + sAnim_GeneralFrame0, + sAnim_PLUSLE_1, }; -const union AnimCmd *const gAnims_MINUN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MINUN_1, +static const union AnimCmd *const sAnims_MINUN[] ={ + sAnim_GeneralFrame0, + sAnim_MINUN_1, }; -const union AnimCmd *const gAnims_MAWILE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MAWILE_1, +static const union AnimCmd *const sAnims_MAWILE[] ={ + sAnim_GeneralFrame0, + sAnim_MAWILE_1, }; -const union AnimCmd *const gAnims_MEDITITE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEDITITE_1, +static const union AnimCmd *const sAnims_MEDITITE[] ={ + sAnim_GeneralFrame0, + sAnim_MEDITITE_1, }; -const union AnimCmd *const gAnims_MEDICHAM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_MEDICHAM_1, +static const union AnimCmd *const sAnims_MEDICHAM[] ={ + sAnim_GeneralFrame0, + sAnim_MEDICHAM_1, }; -const union AnimCmd *const gAnims_SWABLU[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWABLU_1, - gAnimCmd_SWABLU_2, +static const union AnimCmd *const sAnims_SWABLU[] ={ + sAnim_GeneralFrame0, + sAnim_SWABLU_1, + sAnim_SWABLU_2, }; -const union AnimCmd *const gAnims_ALTARIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ALTARIA_1, - gAnimCmd_ALTARIA_2, +static const union AnimCmd *const sAnims_ALTARIA[] ={ + sAnim_GeneralFrame0, + sAnim_ALTARIA_1, + sAnim_ALTARIA_2, }; -const union AnimCmd *const gAnims_WYNAUT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WYNAUT_1, +static const union AnimCmd *const sAnims_WYNAUT[] ={ + sAnim_GeneralFrame0, + sAnim_WYNAUT_1, }; -const union AnimCmd *const gAnims_DUSKULL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSKULL_1, +static const union AnimCmd *const sAnims_DUSKULL[] ={ + sAnim_GeneralFrame0, + sAnim_DUSKULL_1, }; -const union AnimCmd *const gAnims_DUSCLOPS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DUSCLOPS_1, +static const union AnimCmd *const sAnims_DUSCLOPS[] ={ + sAnim_GeneralFrame0, + sAnim_DUSCLOPS_1, }; -const union AnimCmd *const gAnims_ROSELIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ROSELIA_1, +static const union AnimCmd *const sAnims_ROSELIA[] ={ + sAnim_GeneralFrame0, + sAnim_ROSELIA_1, }; -const union AnimCmd *const gAnims_SLAKOTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLAKOTH_1, +static const union AnimCmd *const sAnims_SLAKOTH[] ={ + sAnim_GeneralFrame0, + sAnim_SLAKOTH_1, }; -const union AnimCmd *const gAnims_VIGOROTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VIGOROTH_1, +static const union AnimCmd *const sAnims_VIGOROTH[] ={ + sAnim_GeneralFrame0, + sAnim_VIGOROTH_1, }; -const union AnimCmd *const gAnims_SLAKING[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SLAKING_1, +static const union AnimCmd *const sAnims_SLAKING[] ={ + sAnim_GeneralFrame0, + sAnim_SLAKING_1, }; -const union AnimCmd *const gAnims_GULPIN[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GULPIN_1, +static const union AnimCmd *const sAnims_GULPIN[] ={ + sAnim_GeneralFrame0, + sAnim_GULPIN_1, }; -const union AnimCmd *const gAnims_SWALOT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SWALOT_1, +static const union AnimCmd *const sAnims_SWALOT[] ={ + sAnim_GeneralFrame0, + sAnim_SWALOT_1, }; -const union AnimCmd *const gAnims_TROPIUS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_TROPIUS_1, +static const union AnimCmd *const sAnims_TROPIUS[] ={ + sAnim_GeneralFrame0, + sAnim_TROPIUS_1, }; -const union AnimCmd *const gAnims_WHISMUR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_WHISMUR_1, +static const union AnimCmd *const sAnims_WHISMUR[] ={ + sAnim_GeneralFrame0, + sAnim_WHISMUR_1, }; -const union AnimCmd *const gAnims_LOUDRED[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LOUDRED_1, +static const union AnimCmd *const sAnims_LOUDRED[] ={ + sAnim_GeneralFrame0, + sAnim_LOUDRED_1, }; -const union AnimCmd *const gAnims_EXPLOUD[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EXPLOUD_1, +static const union AnimCmd *const sAnims_EXPLOUD[] ={ + sAnim_GeneralFrame0, + sAnim_EXPLOUD_1, }; -const union AnimCmd *const gAnims_CLAMPERL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CLAMPERL_1, +static const union AnimCmd *const sAnims_CLAMPERL[] ={ + sAnim_GeneralFrame0, + sAnim_CLAMPERL_1, }; -const union AnimCmd *const gAnims_HUNTAIL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_HUNTAIL_1, +static const union AnimCmd *const sAnims_HUNTAIL[] ={ + sAnim_GeneralFrame0, + sAnim_HUNTAIL_1, }; -const union AnimCmd *const gAnims_GOREBYSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GOREBYSS_1, +static const union AnimCmd *const sAnims_GOREBYSS[] ={ + sAnim_GeneralFrame0, + sAnim_GOREBYSS_1, }; -const union AnimCmd *const gAnims_ABSOL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ABSOL_1, +static const union AnimCmd *const sAnims_ABSOL[] ={ + sAnim_GeneralFrame0, + sAnim_ABSOL_1, }; -const union AnimCmd *const gAnims_SHUPPET[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHUPPET_1, +static const union AnimCmd *const sAnims_SHUPPET[] ={ + sAnim_GeneralFrame0, + sAnim_SHUPPET_1, }; -const union AnimCmd *const gAnims_BANETTE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BANETTE_1, +static const union AnimCmd *const sAnims_BANETTE[] ={ + sAnim_GeneralFrame0, + sAnim_BANETTE_1, }; -const union AnimCmd *const gAnims_SEVIPER[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SEVIPER_1, +static const union AnimCmd *const sAnims_SEVIPER[] ={ + sAnim_GeneralFrame0, + sAnim_SEVIPER_1, }; -const union AnimCmd *const gAnims_ZANGOOSE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ZANGOOSE_1, +static const union AnimCmd *const sAnims_ZANGOOSE[] ={ + sAnim_GeneralFrame0, + sAnim_ZANGOOSE_1, }; -const union AnimCmd *const gAnims_RELICANTH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RELICANTH_1, +static const union AnimCmd *const sAnims_RELICANTH[] ={ + sAnim_GeneralFrame0, + sAnim_RELICANTH_1, }; -const union AnimCmd *const gAnims_ARON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARON_1, +static const union AnimCmd *const sAnims_ARON[] ={ + sAnim_GeneralFrame0, + sAnim_ARON_1, }; -const union AnimCmd *const gAnims_LAIRON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LAIRON_1, +static const union AnimCmd *const sAnims_LAIRON[] ={ + sAnim_GeneralFrame0, + sAnim_LAIRON_1, }; -const union AnimCmd *const gAnims_AGGRON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_AGGRON_1, +static const union AnimCmd *const sAnims_AGGRON[] ={ + sAnim_GeneralFrame0, + sAnim_AGGRON_1, }; -const union AnimCmd *const gAnims_CASTFORM[] ={ - gAnimCmd_CASTFORM_0, - gAnimCmd_CASTFORM_1, - gAnimCmd_CASTFORM_2, - gAnimCmd_CASTFORM_3, +static const union AnimCmd *const sAnims_CASTFORM[] ={ + sAnim_CASTFORM_0, + sAnim_CASTFORM_1, + sAnim_CASTFORM_2, + sAnim_CASTFORM_3, }; -const union AnimCmd *const gAnims_VOLBEAT[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_VOLBEAT_1, +static const union AnimCmd *const sAnims_VOLBEAT[] ={ + sAnim_GeneralFrame0, + sAnim_VOLBEAT_1, }; -const union AnimCmd *const gAnims_ILLUMISE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ILLUMISE_1, +static const union AnimCmd *const sAnims_ILLUMISE[] ={ + sAnim_GeneralFrame0, + sAnim_ILLUMISE_1, }; -const union AnimCmd *const gAnims_LILEEP[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LILEEP_1, +static const union AnimCmd *const sAnims_LILEEP[] ={ + sAnim_GeneralFrame0, + sAnim_LILEEP_1, }; -const union AnimCmd *const gAnims_CRADILY[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CRADILY_1, +static const union AnimCmd *const sAnims_CRADILY[] ={ + sAnim_GeneralFrame0, + sAnim_CRADILY_1, }; -const union AnimCmd *const gAnims_ANORITH[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ANORITH_1, +static const union AnimCmd *const sAnims_ANORITH[] ={ + sAnim_GeneralFrame0, + sAnim_ANORITH_1, }; -const union AnimCmd *const gAnims_ARMALDO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_ARMALDO_1, +static const union AnimCmd *const sAnims_ARMALDO[] ={ + sAnim_GeneralFrame0, + sAnim_ARMALDO_1, }; -const union AnimCmd *const gAnims_RALTS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RALTS_1, +static const union AnimCmd *const sAnims_RALTS[] ={ + sAnim_GeneralFrame0, + sAnim_RALTS_1, }; -const union AnimCmd *const gAnims_KIRLIA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KIRLIA_1, +static const union AnimCmd *const sAnims_KIRLIA[] ={ + sAnim_GeneralFrame0, + sAnim_KIRLIA_1, }; -const union AnimCmd *const gAnims_GARDEVOIR[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GARDEVOIR_1, +static const union AnimCmd *const sAnims_GARDEVOIR[] ={ + sAnim_GeneralFrame0, + sAnim_GARDEVOIR_1, }; -const union AnimCmd *const gAnims_BAGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BAGON_1, +static const union AnimCmd *const sAnims_BAGON[] ={ + sAnim_GeneralFrame0, + sAnim_BAGON_1, }; -const union AnimCmd *const gAnims_SHELGON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SHELGON_1, +static const union AnimCmd *const sAnims_SHELGON[] ={ + sAnim_GeneralFrame0, + sAnim_SHELGON_1, }; -const union AnimCmd *const gAnims_SALAMENCE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_SALAMENCE_1, +static const union AnimCmd *const sAnims_SALAMENCE[] ={ + sAnim_GeneralFrame0, + sAnim_SALAMENCE_1, }; -const union AnimCmd *const gAnims_BELDUM[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_BELDUM_1, +static const union AnimCmd *const sAnims_BELDUM[] ={ + sAnim_GeneralFrame0, + sAnim_BELDUM_1, }; -const union AnimCmd *const gAnims_METANG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METANG_1, +static const union AnimCmd *const sAnims_METANG[] ={ + sAnim_GeneralFrame0, + sAnim_METANG_1, }; -const union AnimCmd *const gAnims_METAGROSS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_METAGROSS_1, +static const union AnimCmd *const sAnims_METAGROSS[] ={ + sAnim_GeneralFrame0, + sAnim_METAGROSS_1, }; -const union AnimCmd *const gAnims_REGIROCK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGIROCK_1, - gAnimCmd_REGIROCK_2, +static const union AnimCmd *const sAnims_REGIROCK[] ={ + sAnim_GeneralFrame0, + sAnim_REGIROCK_1, + sAnim_REGIROCK_2, }; -const union AnimCmd *const gAnims_REGICE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGICE_1, +static const union AnimCmd *const sAnims_REGICE[] ={ + sAnim_GeneralFrame0, + sAnim_REGICE_1, }; -const union AnimCmd *const gAnims_REGISTEEL[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_REGISTEEL_1, - gAnimCmd_REGISTEEL_2, +static const union AnimCmd *const sAnims_REGISTEEL[] ={ + sAnim_GeneralFrame0, + sAnim_REGISTEEL_1, + sAnim_REGISTEEL_2, }; -const union AnimCmd *const gAnims_KYOGRE[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_KYOGRE_1, - gAnimCmd_KYOGRE_2, +static const union AnimCmd *const sAnims_KYOGRE[] ={ + sAnim_GeneralFrame0, + sAnim_KYOGRE_1, + sAnim_KYOGRE_2, }; -const union AnimCmd *const gAnims_GROUDON[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_GROUDON_1, - gAnimCmd_GROUDON_2, +static const union AnimCmd *const sAnims_GROUDON[] ={ + sAnim_GeneralFrame0, + sAnim_GROUDON_1, + sAnim_GROUDON_2, }; -const union AnimCmd *const gAnims_RAYQUAZA[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_RAYQUAZA_1, - gAnimCmd_RAYQUAZA_2, +static const union AnimCmd *const sAnims_RAYQUAZA[] ={ + sAnim_GeneralFrame0, + sAnim_RAYQUAZA_1, + sAnim_RAYQUAZA_2, }; -const union AnimCmd *const gAnims_LATIAS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LATIAS_1, - gAnimCmd_LATIAS_2, +static const union AnimCmd *const sAnims_LATIAS[] ={ + sAnim_GeneralFrame0, + sAnim_LATIAS_1, + sAnim_LATIAS_2, }; -const union AnimCmd *const gAnims_LATIOS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_LATIOS_1, - gAnimCmd_LATIOS_2, +static const union AnimCmd *const sAnims_LATIOS[] ={ + sAnim_GeneralFrame0, + sAnim_LATIOS_1, + sAnim_LATIOS_2, }; -const union AnimCmd *const gAnims_JIRACHI[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_JIRACHI_1, - gAnimCmd_JIRACHI_2, +static const union AnimCmd *const sAnims_JIRACHI[] ={ + sAnim_GeneralFrame0, + sAnim_JIRACHI_1, + sAnim_JIRACHI_2, }; -const union AnimCmd *const gAnims_DEOXYS[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_DEOXYS_1, - gAnimCmd_DEOXYS_2, +static const union AnimCmd *const sAnims_DEOXYS[] ={ + sAnim_GeneralFrame0, + sAnim_DEOXYS_1, + sAnim_DEOXYS_2, }; -const union AnimCmd *const gAnims_CHIMECHO[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_CHIMECHO_1, +static const union AnimCmd *const sAnims_CHIMECHO[] ={ + sAnim_GeneralFrame0, + sAnim_CHIMECHO_1, }; -const union AnimCmd *const gAnims_EGG[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_EGG_1, +static const union AnimCmd *const sAnims_EGG[] ={ + sAnim_GeneralFrame0, + sAnim_EGG_1, }; -const union AnimCmd *const gAnims_UNOWN_B[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_B_1, +static const union AnimCmd *const sAnims_UNOWN_B[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_B_1, }; -const union AnimCmd *const gAnims_UNOWN_C[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_C_1, +static const union AnimCmd *const sAnims_UNOWN_C[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_C_1, }; -const union AnimCmd *const gAnims_UNOWN_D[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_D_1, +static const union AnimCmd *const sAnims_UNOWN_D[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_D_1, }; -const union AnimCmd *const gAnims_UNOWN_E[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_E_1, +static const union AnimCmd *const sAnims_UNOWN_E[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_E_1, }; -const union AnimCmd *const gAnims_UNOWN_F[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_F_1, +static const union AnimCmd *const sAnims_UNOWN_F[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_F_1, }; -const union AnimCmd *const gAnims_UNOWN_G[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_G_1, +static const union AnimCmd *const sAnims_UNOWN_G[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_G_1, }; -const union AnimCmd *const gAnims_UNOWN_H[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_H_1, +static const union AnimCmd *const sAnims_UNOWN_H[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_H_1, }; -const union AnimCmd *const gAnims_UNOWN_I[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_I_1, +static const union AnimCmd *const sAnims_UNOWN_I[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_I_1, }; -const union AnimCmd *const gAnims_UNOWN_J[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_J_1, +static const union AnimCmd *const sAnims_UNOWN_J[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_J_1, }; -const union AnimCmd *const gAnims_UNOWN_K[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_K_1, +static const union AnimCmd *const sAnims_UNOWN_K[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_K_1, }; -const union AnimCmd *const gAnims_UNOWN_L[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_L_1, +static const union AnimCmd *const sAnims_UNOWN_L[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_L_1, }; -const union AnimCmd *const gAnims_UNOWN_M[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_M_1, +static const union AnimCmd *const sAnims_UNOWN_M[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_M_1, }; -const union AnimCmd *const gAnims_UNOWN_N[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_N_1, +static const union AnimCmd *const sAnims_UNOWN_N[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_N_1, }; -const union AnimCmd *const gAnims_UNOWN_O[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_O_1, +static const union AnimCmd *const sAnims_UNOWN_O[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_O_1, }; -const union AnimCmd *const gAnims_UNOWN_P[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_P_1, +static const union AnimCmd *const sAnims_UNOWN_P[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_P_1, }; -const union AnimCmd *const gAnims_UNOWN_Q[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Q_1, +static const union AnimCmd *const sAnims_UNOWN_Q[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Q_1, }; -const union AnimCmd *const gAnims_UNOWN_R[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_R_1, +static const union AnimCmd *const sAnims_UNOWN_R[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_R_1, }; -const union AnimCmd *const gAnims_UNOWN_S[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_S_1, +static const union AnimCmd *const sAnims_UNOWN_S[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_S_1, }; -const union AnimCmd *const gAnims_UNOWN_T[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_T_1, +static const union AnimCmd *const sAnims_UNOWN_T[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_T_1, }; -const union AnimCmd *const gAnims_UNOWN_U[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_U_1, +static const union AnimCmd *const sAnims_UNOWN_U[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_U_1, }; -const union AnimCmd *const gAnims_UNOWN_V[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_V_1, +static const union AnimCmd *const sAnims_UNOWN_V[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_V_1, }; -const union AnimCmd *const gAnims_UNOWN_W[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_W_1, +static const union AnimCmd *const sAnims_UNOWN_W[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_W_1, }; -const union AnimCmd *const gAnims_UNOWN_X[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_X_1, +static const union AnimCmd *const sAnims_UNOWN_X[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_X_1, }; -const union AnimCmd *const gAnims_UNOWN_Y[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Y_1, +static const union AnimCmd *const sAnims_UNOWN_Y[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Y_1, }; -const union AnimCmd *const gAnims_UNOWN_Z[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_Z_1, +static const union AnimCmd *const sAnims_UNOWN_Z[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_Z_1, }; -const union AnimCmd *const gAnims_UNOWN_EMARK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_EMARK_1, +static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_EMARK_1, }; -const union AnimCmd *const gAnims_UNOWN_QMARK[] ={ - gAnimCmd_General_Frame0, - gAnimCmd_UNOWN_QMARK_1, +static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ + sAnim_GeneralFrame0, + sAnim_UNOWN_QMARK_1, }; -#define ANIM_CMD(name) [SPECIES_##name] = gAnims_##name +#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name #define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims -const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = +const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = { ANIM_CMD(NONE), ANIM_CMD(BULBASAUR), @@ -7204,30 +7203,30 @@ const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = ANIM_CMD(HO_OH), ANIM_CMD(CELEBI), ANIM_CMD(OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_C, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_D, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_E, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_F, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_G, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_H, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_I, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_J, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_K, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_L, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_M, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_N, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_O, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_P, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Q, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_R, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_S, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_T, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_U, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_V, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_W, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_X, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Y, gAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Z, gAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_C, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_D, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_E, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_F, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_G, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_H, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_I, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_J, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_K, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_L, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_M, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_N, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_O, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_P, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Q, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_R, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_S, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_T, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_U, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_V, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_W, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_X, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Y, sAnims_OLD_UNOWN_B), + ANIM_CMD_FULL(OLD_UNOWN_Z, sAnims_OLD_UNOWN_B), ANIM_CMD(TREECKO), ANIM_CMD(GROVYLE), ANIM_CMD(SCEPTILE), diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 95ec7a132..19de9a7dd 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -1,5 +1,3 @@ -#include "constants/species.h" - const struct MonCoords gMonFrontPicCoords[] = { [SPECIES_NONE] = diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 92e6bab2e..82af860d3 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1,443 +1,443 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = { - [SPECIES_NONE] = {gMonFrontPic_CircledQuestionMark, 0x800, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonFrontPic_Bulbasaur, 0x800, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonFrontPic_Ivysaur, 0x800, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonFrontPic_Venusaur, 0x800, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonFrontPic_Charmander, 0x800, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonFrontPic_Charmeleon, 0x800, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonFrontPic_Charizard, 0x800, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonFrontPic_Squirtle, 0x800, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonFrontPic_Wartortle, 0x800, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonFrontPic_Blastoise, 0x800, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonFrontPic_Caterpie, 0x800, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonFrontPic_Metapod, 0x800, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonFrontPic_Butterfree, 0x800, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonFrontPic_Weedle, 0x800, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonFrontPic_Kakuna, 0x800, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonFrontPic_Beedrill, 0x800, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonFrontPic_Pidgey, 0x800, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonFrontPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonFrontPic_Pidgeot, 0x800, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonFrontPic_Rattata, 0x800, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonFrontPic_Raticate, 0x800, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonFrontPic_Spearow, 0x800, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonFrontPic_Fearow, 0x800, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonFrontPic_Ekans, 0x800, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonFrontPic_Arbok, 0x800, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonFrontPic_Pikachu, 0x800, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonFrontPic_Raichu, 0x800, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonFrontPic_Sandshrew, 0x800, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonFrontPic_Sandslash, 0x800, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonFrontPic_NidoranF, 0x800, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonFrontPic_Nidorina, 0x800, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonFrontPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonFrontPic_NidoranM, 0x800, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonFrontPic_Nidorino, 0x800, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonFrontPic_Nidoking, 0x800, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonFrontPic_Clefairy, 0x800, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonFrontPic_Clefable, 0x800, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonFrontPic_Vulpix, 0x800, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonFrontPic_Ninetales, 0x800, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonFrontPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonFrontPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonFrontPic_Zubat, 0x800, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonFrontPic_Golbat, 0x800, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonFrontPic_Oddish, 0x800, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonFrontPic_Gloom, 0x800, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonFrontPic_Vileplume, 0x800, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonFrontPic_Paras, 0x800, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonFrontPic_Parasect, 0x800, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonFrontPic_Venonat, 0x800, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonFrontPic_Venomoth, 0x800, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonFrontPic_Diglett, 0x800, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonFrontPic_Dugtrio, 0x800, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonFrontPic_Meowth, 0x800, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonFrontPic_Persian, 0x800, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonFrontPic_Psyduck, 0x800, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonFrontPic_Golduck, 0x800, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonFrontPic_Mankey, 0x800, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonFrontPic_Primeape, 0x800, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonFrontPic_Growlithe, 0x800, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonFrontPic_Arcanine, 0x800, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonFrontPic_Poliwag, 0x800, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonFrontPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonFrontPic_Poliwrath, 0x800, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonFrontPic_Abra, 0x800, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonFrontPic_Kadabra, 0x800, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonFrontPic_Alakazam, 0x800, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonFrontPic_Machop, 0x800, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonFrontPic_Machoke, 0x800, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonFrontPic_Machamp, 0x800, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonFrontPic_Bellsprout, 0x800, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonFrontPic_Weepinbell, 0x800, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonFrontPic_Victreebel, 0x800, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonFrontPic_Tentacool, 0x800, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonFrontPic_Tentacruel, 0x800, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonFrontPic_Geodude, 0x800, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonFrontPic_Graveler, 0x800, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonFrontPic_Golem, 0x800, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonFrontPic_Ponyta, 0x800, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonFrontPic_Rapidash, 0x800, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonFrontPic_Slowpoke, 0x800, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonFrontPic_Slowbro, 0x800, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonFrontPic_Magnemite, 0x800, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonFrontPic_Magneton, 0x800, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonFrontPic_Farfetchd, 0x800, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonFrontPic_Doduo, 0x800, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonFrontPic_Dodrio, 0x800, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonFrontPic_Seel, 0x800, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonFrontPic_Dewgong, 0x800, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonFrontPic_Grimer, 0x800, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonFrontPic_Muk, 0x800, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonFrontPic_Shellder, 0x800, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonFrontPic_Cloyster, 0x800, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonFrontPic_Gastly, 0x800, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonFrontPic_Haunter, 0x800, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonFrontPic_Gengar, 0x800, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonFrontPic_Onix, 0x800, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonFrontPic_Drowzee, 0x800, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonFrontPic_Hypno, 0x800, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonFrontPic_Krabby, 0x800, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonFrontPic_Kingler, 0x800, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonFrontPic_Voltorb, 0x800, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonFrontPic_Electrode, 0x800, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonFrontPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonFrontPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonFrontPic_Cubone, 0x800, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonFrontPic_Marowak, 0x800, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonFrontPic_Hitmonlee, 0x800, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonFrontPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonFrontPic_Lickitung, 0x800, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonFrontPic_Koffing, 0x800, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonFrontPic_Weezing, 0x800, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonFrontPic_Rhyhorn, 0x800, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonFrontPic_Rhydon, 0x800, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonFrontPic_Chansey, 0x800, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonFrontPic_Tangela, 0x800, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonFrontPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonFrontPic_Horsea, 0x800, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonFrontPic_Seadra, 0x800, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonFrontPic_Goldeen, 0x800, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonFrontPic_Seaking, 0x800, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonFrontPic_Staryu, 0x800, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonFrontPic_Starmie, 0x800, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonFrontPic_Mrmime, 0x800, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonFrontPic_Scyther, 0x800, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonFrontPic_Jynx, 0x800, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonFrontPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonFrontPic_Magmar, 0x800, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonFrontPic_Pinsir, 0x800, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonFrontPic_Tauros, 0x800, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonFrontPic_Magikarp, 0x800, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonFrontPic_Gyarados, 0x800, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonFrontPic_Lapras, 0x800, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonFrontPic_Ditto, 0x800, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonFrontPic_Eevee, 0x800, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonFrontPic_Vaporeon, 0x800, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonFrontPic_Jolteon, 0x800, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonFrontPic_Flareon, 0x800, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonFrontPic_Porygon, 0x800, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonFrontPic_Omanyte, 0x800, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonFrontPic_Omastar, 0x800, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonFrontPic_Kabuto, 0x800, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonFrontPic_Kabutops, 0x800, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonFrontPic_Aerodactyl, 0x800, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonFrontPic_Snorlax, 0x800, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonFrontPic_Articuno, 0x800, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonFrontPic_Zapdos, 0x800, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonFrontPic_Moltres, 0x800, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonFrontPic_Dratini, 0x800, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonFrontPic_Dragonair, 0x800, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonFrontPic_Dragonite, 0x800, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonFrontPic_Mewtwo, 0x800, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonFrontPic_Mew, 0x800, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonFrontPic_Chikorita, 0x800, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonFrontPic_Bayleef, 0x800, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonFrontPic_Meganium, 0x800, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonFrontPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonFrontPic_Quilava, 0x800, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonFrontPic_Typhlosion, 0x800, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonFrontPic_Totodile, 0x800, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonFrontPic_Croconaw, 0x800, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonFrontPic_Feraligatr, 0x800, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonFrontPic_Sentret, 0x800, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonFrontPic_Furret, 0x800, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonFrontPic_Hoothoot, 0x800, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonFrontPic_Noctowl, 0x800, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonFrontPic_Ledyba, 0x800, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonFrontPic_Ledian, 0x800, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonFrontPic_Spinarak, 0x800, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonFrontPic_Ariados, 0x800, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonFrontPic_Crobat, 0x800, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonFrontPic_Chinchou, 0x800, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonFrontPic_Lanturn, 0x800, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonFrontPic_Pichu, 0x800, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonFrontPic_Cleffa, 0x800, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonFrontPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonFrontPic_Togepi, 0x800, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonFrontPic_Togetic, 0x800, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonFrontPic_Natu, 0x800, SPECIES_NATU}, - [SPECIES_XATU] = {gMonFrontPic_Xatu, 0x800, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonFrontPic_Mareep, 0x800, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonFrontPic_Flaaffy, 0x800, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonFrontPic_Ampharos, 0x800, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonFrontPic_Bellossom, 0x800, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonFrontPic_Marill, 0x800, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonFrontPic_Azumarill, 0x800, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonFrontPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonFrontPic_Politoed, 0x800, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonFrontPic_Hoppip, 0x800, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonFrontPic_Skiploom, 0x800, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonFrontPic_Jumpluff, 0x800, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonFrontPic_Aipom, 0x800, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonFrontPic_Sunkern, 0x800, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonFrontPic_Sunflora, 0x800, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonFrontPic_Yanma, 0x800, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonFrontPic_Wooper, 0x800, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonFrontPic_Quagsire, 0x800, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonFrontPic_Espeon, 0x800, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonFrontPic_Umbreon, 0x800, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonFrontPic_Murkrow, 0x800, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonFrontPic_Slowking, 0x800, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonFrontPic_Misdreavus, 0x800, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonFrontPic_UnownA, 0x800, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonFrontPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonFrontPic_Girafarig, 0x800, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonFrontPic_Pineco, 0x800, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonFrontPic_Forretress, 0x800, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonFrontPic_Dunsparce, 0x800, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonFrontPic_Gligar, 0x800, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonFrontPic_Steelix, 0x800, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonFrontPic_Snubbull, 0x800, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonFrontPic_Granbull, 0x800, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonFrontPic_Qwilfish, 0x800, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonFrontPic_Scizor, 0x800, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonFrontPic_Shuckle, 0x800, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonFrontPic_Heracross, 0x800, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonFrontPic_Sneasel, 0x800, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonFrontPic_Teddiursa, 0x800, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonFrontPic_Ursaring, 0x800, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonFrontPic_Slugma, 0x800, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonFrontPic_Magcargo, 0x800, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonFrontPic_Swinub, 0x800, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonFrontPic_Piloswine, 0x800, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonFrontPic_Corsola, 0x800, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonFrontPic_Remoraid, 0x800, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonFrontPic_Octillery, 0x800, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonFrontPic_Delibird, 0x800, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonFrontPic_Mantine, 0x800, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonFrontPic_Skarmory, 0x800, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonFrontPic_Houndour, 0x800, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonFrontPic_Houndoom, 0x800, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonFrontPic_Kingdra, 0x800, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonFrontPic_Phanpy, 0x800, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonFrontPic_Donphan, 0x800, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonFrontPic_Porygon2, 0x800, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonFrontPic_Stantler, 0x800, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonFrontPic_Smeargle, 0x800, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonFrontPic_Tyrogue, 0x800, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonFrontPic_Hitmontop, 0x800, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonFrontPic_Smoochum, 0x800, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonFrontPic_Elekid, 0x800, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonFrontPic_Magby, 0x800, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonFrontPic_Miltank, 0x800, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonFrontPic_Blissey, 0x800, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonFrontPic_Raikou, 0x800, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonFrontPic_Entei, 0x800, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonFrontPic_Suicune, 0x800, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonFrontPic_Larvitar, 0x800, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonFrontPic_Pupitar, 0x800, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonFrontPic_Tyranitar, 0x800, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonFrontPic_Lugia, 0x800, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonFrontPic_HoOh, 0x800, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonFrontPic_Celebi, 0x800, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonFrontPic_Treecko, 0x800, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonFrontPic_Grovyle, 0x800, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonFrontPic_Sceptile, 0x800, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonFrontPic_Torchic, 0x800, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonFrontPic_Combusken, 0x800, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonFrontPic_Blaziken, 0x800, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonFrontPic_Mudkip, 0x800, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonFrontPic_Marshtomp, 0x800, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonFrontPic_Swampert, 0x800, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonFrontPic_Poochyena, 0x800, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonFrontPic_Mightyena, 0x800, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonFrontPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonFrontPic_Linoone, 0x800, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonFrontPic_Wurmple, 0x800, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonFrontPic_Silcoon, 0x800, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonFrontPic_Beautifly, 0x800, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonFrontPic_Cascoon, 0x800, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonFrontPic_Dustox, 0x800, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonFrontPic_Lotad, 0x800, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonFrontPic_Lombre, 0x800, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonFrontPic_Ludicolo, 0x800, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonFrontPic_Seedot, 0x800, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonFrontPic_Nuzleaf, 0x800, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonFrontPic_Shiftry, 0x800, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonFrontPic_Nincada, 0x800, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonFrontPic_Ninjask, 0x800, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonFrontPic_Shedinja, 0x800, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonFrontPic_Taillow, 0x800, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonFrontPic_Swellow, 0x800, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonFrontPic_Shroomish, 0x800, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonFrontPic_Breloom, 0x800, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonFrontPic_Spinda, 0x800, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonFrontPic_Wingull, 0x800, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonFrontPic_Pelipper, 0x800, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonFrontPic_Surskit, 0x800, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonFrontPic_Masquerain, 0x800, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonFrontPic_Wailmer, 0x800, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonFrontPic_Wailord, 0x800, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonFrontPic_Skitty, 0x800, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonFrontPic_Delcatty, 0x800, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonFrontPic_Kecleon, 0x800, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonFrontPic_Baltoy, 0x800, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonFrontPic_Claydol, 0x800, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonFrontPic_Nosepass, 0x800, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonFrontPic_Torkoal, 0x800, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonFrontPic_Sableye, 0x800, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonFrontPic_Barboach, 0x800, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonFrontPic_Whiscash, 0x800, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonFrontPic_Luvdisc, 0x800, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonFrontPic_Corphish, 0x800, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonFrontPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonFrontPic_Feebas, 0x800, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonFrontPic_Milotic, 0x800, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonFrontPic_Carvanha, 0x800, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonFrontPic_Sharpedo, 0x800, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonFrontPic_Trapinch, 0x800, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonFrontPic_Vibrava, 0x800, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonFrontPic_Flygon, 0x800, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonFrontPic_Makuhita, 0x800, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonFrontPic_Hariyama, 0x800, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonFrontPic_Electrike, 0x800, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonFrontPic_Manectric, 0x800, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonFrontPic_Numel, 0x800, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonFrontPic_Camerupt, 0x800, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonFrontPic_Spheal, 0x800, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonFrontPic_Sealeo, 0x800, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonFrontPic_Walrein, 0x800, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonFrontPic_Cacnea, 0x800, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonFrontPic_Cacturne, 0x800, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonFrontPic_Snorunt, 0x800, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonFrontPic_Glalie, 0x800, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonFrontPic_Lunatone, 0x800, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonFrontPic_Solrock, 0x800, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonFrontPic_Azurill, 0x800, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonFrontPic_Spoink, 0x800, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonFrontPic_Grumpig, 0x800, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonFrontPic_Plusle, 0x800, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonFrontPic_Minun, 0x800, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonFrontPic_Mawile, 0x800, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonFrontPic_Meditite, 0x800, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonFrontPic_Medicham, 0x800, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonFrontPic_Swablu, 0x800, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonFrontPic_Altaria, 0x800, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonFrontPic_Wynaut, 0x800, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonFrontPic_Duskull, 0x800, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonFrontPic_Dusclops, 0x800, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonFrontPic_Roselia, 0x800, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonFrontPic_Slakoth, 0x800, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonFrontPic_Vigoroth, 0x800, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonFrontPic_Slaking, 0x800, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonFrontPic_Gulpin, 0x800, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonFrontPic_Swalot, 0x800, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonFrontPic_Tropius, 0x800, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonFrontPic_Whismur, 0x800, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonFrontPic_Loudred, 0x800, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonFrontPic_Exploud, 0x800, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonFrontPic_Clamperl, 0x800, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonFrontPic_Huntail, 0x800, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonFrontPic_Gorebyss, 0x800, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonFrontPic_Absol, 0x800, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonFrontPic_Shuppet, 0x800, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonFrontPic_Banette, 0x800, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonFrontPic_Seviper, 0x800, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonFrontPic_Zangoose, 0x800, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonFrontPic_Relicanth, 0x800, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonFrontPic_Aron, 0x800, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonFrontPic_Lairon, 0x800, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonFrontPic_Aggron, 0x800, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonFrontPic_Castform, 0x800, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonFrontPic_Volbeat, 0x800, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonFrontPic_Illumise, 0x800, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonFrontPic_Lileep, 0x800, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonFrontPic_Cradily, 0x800, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonFrontPic_Anorith, 0x800, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonFrontPic_Armaldo, 0x800, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonFrontPic_Ralts, 0x800, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonFrontPic_Kirlia, 0x800, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonFrontPic_Gardevoir, 0x800, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonFrontPic_Bagon, 0x800, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonFrontPic_Shelgon, 0x800, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonFrontPic_Salamence, 0x800, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonFrontPic_Beldum, 0x800, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonFrontPic_Metang, 0x800, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonFrontPic_Metagross, 0x800, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonFrontPic_Regirock, 0x800, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonFrontPic_Regice, 0x800, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonFrontPic_Registeel, 0x800, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonFrontPic_Kyogre, 0x800, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonFrontPic_Groudon, 0x800, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonFrontPic_Rayquaza, 0x800, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonFrontPic_Latias, 0x800, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonFrontPic_Latios, 0x800, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonFrontPic_Jirachi, 0x800, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonFrontPic_Deoxys, 0x800, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonFrontPic_Chimecho, 0x800, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonFrontPic_Egg, 0x800, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonFrontPic_UnownB, 0x800, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonFrontPic_UnownC, 0x800, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonFrontPic_UnownD, 0x800, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonFrontPic_UnownE, 0x800, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonFrontPic_UnownF, 0x800, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonFrontPic_UnownG, 0x800, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonFrontPic_UnownH, 0x800, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonFrontPic_UnownI, 0x800, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonFrontPic_UnownJ, 0x800, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonFrontPic_UnownK, 0x800, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonFrontPic_UnownL, 0x800, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonFrontPic_UnownM, 0x800, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonFrontPic_UnownN, 0x800, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonFrontPic_UnownO, 0x800, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonFrontPic_UnownP, 0x800, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonFrontPic_UnownQ, 0x800, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonFrontPic_UnownR, 0x800, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonFrontPic_UnownS, 0x800, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonFrontPic_UnownT, 0x800, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonFrontPic_UnownU, 0x800, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonFrontPic_UnownV, 0x800, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonFrontPic_UnownW, 0x800, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonFrontPic_UnownX, 0x800, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonFrontPic_UnownY, 0x800, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonFrontPic_UnownZ, 0x800, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonFrontPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonFrontPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK}, + SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonFrontPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonFrontPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonFrontPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonFrontPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonFrontPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonFrontPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonFrontPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonFrontPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonFrontPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonFrontPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonFrontPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonFrontPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonFrontPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonFrontPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonFrontPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonFrontPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonFrontPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonFrontPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonFrontPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonFrontPic_Fearow), + SPECIES_SPRITE(EKANS, gMonFrontPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonFrontPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonFrontPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonFrontPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonFrontPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonFrontPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonFrontPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonFrontPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonFrontPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonFrontPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonFrontPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonFrontPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonFrontPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonFrontPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonFrontPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonFrontPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonFrontPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonFrontPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonFrontPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonFrontPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonFrontPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonFrontPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonFrontPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonFrontPic_Paras), + SPECIES_SPRITE(PARASECT, gMonFrontPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonFrontPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonFrontPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonFrontPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonFrontPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonFrontPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonFrontPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonFrontPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonFrontPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonFrontPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonFrontPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonFrontPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonFrontPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonFrontPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonFrontPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonFrontPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonFrontPic_Abra), + SPECIES_SPRITE(KADABRA, gMonFrontPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonFrontPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonFrontPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonFrontPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonFrontPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonFrontPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonFrontPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonFrontPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonFrontPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonFrontPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonFrontPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonFrontPic_Golem), + SPECIES_SPRITE(PONYTA, gMonFrontPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonFrontPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonFrontPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonFrontPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonFrontPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonFrontPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonFrontPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonFrontPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonFrontPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonFrontPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonFrontPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonFrontPic_Grimer), + SPECIES_SPRITE(MUK, gMonFrontPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonFrontPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonFrontPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonFrontPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonFrontPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonFrontPic_Gengar), + SPECIES_SPRITE(ONIX, gMonFrontPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonFrontPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonFrontPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonFrontPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonFrontPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonFrontPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonFrontPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonFrontPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonFrontPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonFrontPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonFrontPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonFrontPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonFrontPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonFrontPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonFrontPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonFrontPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonFrontPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonFrontPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonFrontPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonFrontPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonFrontPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonFrontPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonFrontPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonFrontPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking), + SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther), + SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonFrontPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonFrontPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonFrontPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonFrontPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonFrontPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonFrontPic_Lapras), + SPECIES_SPRITE(DITTO, gMonFrontPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonFrontPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonFrontPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonFrontPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonFrontPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonFrontPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonFrontPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonFrontPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonFrontPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonFrontPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonFrontPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonFrontPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonFrontPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonFrontPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonFrontPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonFrontPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonFrontPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonFrontPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonFrontPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonFrontPic_Mew), + SPECIES_SPRITE(CHIKORITA, gMonFrontPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonFrontPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonFrontPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonFrontPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonFrontPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonFrontPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonFrontPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonFrontPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonFrontPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonFrontPic_Sentret), + SPECIES_SPRITE(FURRET, gMonFrontPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonFrontPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonFrontPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonFrontPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonFrontPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonFrontPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonFrontPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonFrontPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonFrontPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonFrontPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonFrontPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonFrontPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonFrontPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonFrontPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonFrontPic_Togetic), + SPECIES_SPRITE(NATU, gMonFrontPic_Natu), + SPECIES_SPRITE(XATU, gMonFrontPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonFrontPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonFrontPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonFrontPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonFrontPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonFrontPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonFrontPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonFrontPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonFrontPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonFrontPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonFrontPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonFrontPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonFrontPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonFrontPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonFrontPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonFrontPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonFrontPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonFrontPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonFrontPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonFrontPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonFrontPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonFrontPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonFrontPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonFrontPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonFrontPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonFrontPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonFrontPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonFrontPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonFrontPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonFrontPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonFrontPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonFrontPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonFrontPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonFrontPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonFrontPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonFrontPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonFrontPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonFrontPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonFrontPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonFrontPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonFrontPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonFrontPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonFrontPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonFrontPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonFrontPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonFrontPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonFrontPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonFrontPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonFrontPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonFrontPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonFrontPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonFrontPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonFrontPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonFrontPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonFrontPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonFrontPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonFrontPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonFrontPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonFrontPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonFrontPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonFrontPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonFrontPic_Magby), + SPECIES_SPRITE(MILTANK, gMonFrontPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonFrontPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonFrontPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonFrontPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonFrontPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonFrontPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonFrontPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonFrontPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonFrontPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonFrontPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonFrontPic_Celebi), + SPECIES_SPRITE(OLD_UNOWN_B, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(TREECKO, gMonFrontPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonFrontPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonFrontPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonFrontPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonFrontPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonFrontPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonFrontPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonFrontPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonFrontPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonFrontPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonFrontPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonFrontPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonFrontPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonFrontPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonFrontPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonFrontPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonFrontPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonFrontPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonFrontPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonFrontPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonFrontPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonFrontPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonFrontPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonFrontPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonFrontPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonFrontPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonFrontPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonFrontPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonFrontPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonFrontPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonFrontPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonFrontPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonFrontPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonFrontPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonFrontPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonFrontPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonFrontPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonFrontPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonFrontPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonFrontPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonFrontPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonFrontPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonFrontPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonFrontPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonFrontPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonFrontPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonFrontPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonFrontPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonFrontPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonFrontPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonFrontPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonFrontPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonFrontPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonFrontPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonFrontPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonFrontPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonFrontPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonFrontPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonFrontPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonFrontPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonFrontPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonFrontPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonFrontPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonFrontPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonFrontPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonFrontPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonFrontPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonFrontPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonFrontPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonFrontPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonFrontPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonFrontPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonFrontPic_Plusle), + SPECIES_SPRITE(MINUN, gMonFrontPic_Minun), + SPECIES_SPRITE(MAWILE, gMonFrontPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonFrontPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonFrontPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonFrontPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonFrontPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonFrontPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonFrontPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonFrontPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonFrontPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonFrontPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonFrontPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonFrontPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonFrontPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonFrontPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonFrontPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonFrontPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonFrontPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonFrontPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonFrontPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonFrontPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonFrontPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonFrontPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonFrontPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonFrontPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonFrontPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonFrontPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonFrontPic_Relicanth), + SPECIES_SPRITE(ARON, gMonFrontPic_Aron), + SPECIES_SPRITE(LAIRON, gMonFrontPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonFrontPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonFrontPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonFrontPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonFrontPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonFrontPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonFrontPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonFrontPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonFrontPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonFrontPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonFrontPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonFrontPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonFrontPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonFrontPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonFrontPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonFrontPic_Beldum), + SPECIES_SPRITE(METANG, gMonFrontPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonFrontPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonFrontPic_Regirock), + SPECIES_SPRITE(REGICE, gMonFrontPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonFrontPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonFrontPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonFrontPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonFrontPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonFrontPic_Latias), + SPECIES_SPRITE(LATIOS, gMonFrontPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho), + SPECIES_SPRITE(EGG, gMonFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonFrontPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonFrontPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonFrontPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonFrontPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonFrontPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonFrontPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonFrontPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonFrontPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonFrontPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonFrontPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonFrontPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonFrontPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonFrontPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonFrontPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonFrontPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonFrontPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonFrontPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonFrontPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonFrontPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonFrontPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonFrontPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark), }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 3b60d8567..35edcc76c 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1,443 +1,443 @@ const struct CompressedSpritePalette gMonPaletteTable[] = { - [SPECIES_NONE] = {gMonPalette_CircledQuestionMark, SPECIES_NONE}, - [SPECIES_BULBASAUR] = {gMonPalette_Bulbasaur, SPECIES_BULBASAUR}, - [SPECIES_IVYSAUR] = {gMonPalette_Ivysaur, SPECIES_IVYSAUR}, - [SPECIES_VENUSAUR] = {gMonPalette_Venusaur, SPECIES_VENUSAUR}, - [SPECIES_CHARMANDER] = {gMonPalette_Charmander, SPECIES_CHARMANDER}, - [SPECIES_CHARMELEON] = {gMonPalette_Charmeleon, SPECIES_CHARMELEON}, - [SPECIES_CHARIZARD] = {gMonPalette_Charizard, SPECIES_CHARIZARD}, - [SPECIES_SQUIRTLE] = {gMonPalette_Squirtle, SPECIES_SQUIRTLE}, - [SPECIES_WARTORTLE] = {gMonPalette_Wartortle, SPECIES_WARTORTLE}, - [SPECIES_BLASTOISE] = {gMonPalette_Blastoise, SPECIES_BLASTOISE}, - [SPECIES_CATERPIE] = {gMonPalette_Caterpie, SPECIES_CATERPIE}, - [SPECIES_METAPOD] = {gMonPalette_Metapod, SPECIES_METAPOD}, - [SPECIES_BUTTERFREE] = {gMonPalette_Butterfree, SPECIES_BUTTERFREE}, - [SPECIES_WEEDLE] = {gMonPalette_Weedle, SPECIES_WEEDLE}, - [SPECIES_KAKUNA] = {gMonPalette_Kakuna, SPECIES_KAKUNA}, - [SPECIES_BEEDRILL] = {gMonPalette_Beedrill, SPECIES_BEEDRILL}, - [SPECIES_PIDGEY] = {gMonPalette_Pidgey, SPECIES_PIDGEY}, - [SPECIES_PIDGEOTTO] = {gMonPalette_Pidgeotto, SPECIES_PIDGEOTTO}, - [SPECIES_PIDGEOT] = {gMonPalette_Pidgeot, SPECIES_PIDGEOT}, - [SPECIES_RATTATA] = {gMonPalette_Rattata, SPECIES_RATTATA}, - [SPECIES_RATICATE] = {gMonPalette_Raticate, SPECIES_RATICATE}, - [SPECIES_SPEAROW] = {gMonPalette_Spearow, SPECIES_SPEAROW}, - [SPECIES_FEAROW] = {gMonPalette_Fearow, SPECIES_FEAROW}, - [SPECIES_EKANS] = {gMonPalette_Ekans, SPECIES_EKANS}, - [SPECIES_ARBOK] = {gMonPalette_Arbok, SPECIES_ARBOK}, - [SPECIES_PIKACHU] = {gMonPalette_Pikachu, SPECIES_PIKACHU}, - [SPECIES_RAICHU] = {gMonPalette_Raichu, SPECIES_RAICHU}, - [SPECIES_SANDSHREW] = {gMonPalette_Sandshrew, SPECIES_SANDSHREW}, - [SPECIES_SANDSLASH] = {gMonPalette_Sandslash, SPECIES_SANDSLASH}, - [SPECIES_NIDORAN_F] = {gMonPalette_NidoranF, SPECIES_NIDORAN_F}, - [SPECIES_NIDORINA] = {gMonPalette_Nidorina, SPECIES_NIDORINA}, - [SPECIES_NIDOQUEEN] = {gMonPalette_Nidoqueen, SPECIES_NIDOQUEEN}, - [SPECIES_NIDORAN_M] = {gMonPalette_NidoranM, SPECIES_NIDORAN_M}, - [SPECIES_NIDORINO] = {gMonPalette_Nidorino, SPECIES_NIDORINO}, - [SPECIES_NIDOKING] = {gMonPalette_Nidoking, SPECIES_NIDOKING}, - [SPECIES_CLEFAIRY] = {gMonPalette_Clefairy, SPECIES_CLEFAIRY}, - [SPECIES_CLEFABLE] = {gMonPalette_Clefable, SPECIES_CLEFABLE}, - [SPECIES_VULPIX] = {gMonPalette_Vulpix, SPECIES_VULPIX}, - [SPECIES_NINETALES] = {gMonPalette_Ninetales, SPECIES_NINETALES}, - [SPECIES_JIGGLYPUFF] = {gMonPalette_Jigglypuff, SPECIES_JIGGLYPUFF}, - [SPECIES_WIGGLYTUFF] = {gMonPalette_Wigglytuff, SPECIES_WIGGLYTUFF}, - [SPECIES_ZUBAT] = {gMonPalette_Zubat, SPECIES_ZUBAT}, - [SPECIES_GOLBAT] = {gMonPalette_Golbat, SPECIES_GOLBAT}, - [SPECIES_ODDISH] = {gMonPalette_Oddish, SPECIES_ODDISH}, - [SPECIES_GLOOM] = {gMonPalette_Gloom, SPECIES_GLOOM}, - [SPECIES_VILEPLUME] = {gMonPalette_Vileplume, SPECIES_VILEPLUME}, - [SPECIES_PARAS] = {gMonPalette_Paras, SPECIES_PARAS}, - [SPECIES_PARASECT] = {gMonPalette_Parasect, SPECIES_PARASECT}, - [SPECIES_VENONAT] = {gMonPalette_Venonat, SPECIES_VENONAT}, - [SPECIES_VENOMOTH] = {gMonPalette_Venomoth, SPECIES_VENOMOTH}, - [SPECIES_DIGLETT] = {gMonPalette_Diglett, SPECIES_DIGLETT}, - [SPECIES_DUGTRIO] = {gMonPalette_Dugtrio, SPECIES_DUGTRIO}, - [SPECIES_MEOWTH] = {gMonPalette_Meowth, SPECIES_MEOWTH}, - [SPECIES_PERSIAN] = {gMonPalette_Persian, SPECIES_PERSIAN}, - [SPECIES_PSYDUCK] = {gMonPalette_Psyduck, SPECIES_PSYDUCK}, - [SPECIES_GOLDUCK] = {gMonPalette_Golduck, SPECIES_GOLDUCK}, - [SPECIES_MANKEY] = {gMonPalette_Mankey, SPECIES_MANKEY}, - [SPECIES_PRIMEAPE] = {gMonPalette_Primeape, SPECIES_PRIMEAPE}, - [SPECIES_GROWLITHE] = {gMonPalette_Growlithe, SPECIES_GROWLITHE}, - [SPECIES_ARCANINE] = {gMonPalette_Arcanine, SPECIES_ARCANINE}, - [SPECIES_POLIWAG] = {gMonPalette_Poliwag, SPECIES_POLIWAG}, - [SPECIES_POLIWHIRL] = {gMonPalette_Poliwhirl, SPECIES_POLIWHIRL}, - [SPECIES_POLIWRATH] = {gMonPalette_Poliwrath, SPECIES_POLIWRATH}, - [SPECIES_ABRA] = {gMonPalette_Abra, SPECIES_ABRA}, - [SPECIES_KADABRA] = {gMonPalette_Kadabra, SPECIES_KADABRA}, - [SPECIES_ALAKAZAM] = {gMonPalette_Alakazam, SPECIES_ALAKAZAM}, - [SPECIES_MACHOP] = {gMonPalette_Machop, SPECIES_MACHOP}, - [SPECIES_MACHOKE] = {gMonPalette_Machoke, SPECIES_MACHOKE}, - [SPECIES_MACHAMP] = {gMonPalette_Machamp, SPECIES_MACHAMP}, - [SPECIES_BELLSPROUT] = {gMonPalette_Bellsprout, SPECIES_BELLSPROUT}, - [SPECIES_WEEPINBELL] = {gMonPalette_Weepinbell, SPECIES_WEEPINBELL}, - [SPECIES_VICTREEBEL] = {gMonPalette_Victreebel, SPECIES_VICTREEBEL}, - [SPECIES_TENTACOOL] = {gMonPalette_Tentacool, SPECIES_TENTACOOL}, - [SPECIES_TENTACRUEL] = {gMonPalette_Tentacruel, SPECIES_TENTACRUEL}, - [SPECIES_GEODUDE] = {gMonPalette_Geodude, SPECIES_GEODUDE}, - [SPECIES_GRAVELER] = {gMonPalette_Graveler, SPECIES_GRAVELER}, - [SPECIES_GOLEM] = {gMonPalette_Golem, SPECIES_GOLEM}, - [SPECIES_PONYTA] = {gMonPalette_Ponyta, SPECIES_PONYTA}, - [SPECIES_RAPIDASH] = {gMonPalette_Rapidash, SPECIES_RAPIDASH}, - [SPECIES_SLOWPOKE] = {gMonPalette_Slowpoke, SPECIES_SLOWPOKE}, - [SPECIES_SLOWBRO] = {gMonPalette_Slowbro, SPECIES_SLOWBRO}, - [SPECIES_MAGNEMITE] = {gMonPalette_Magnemite, SPECIES_MAGNEMITE}, - [SPECIES_MAGNETON] = {gMonPalette_Magneton, SPECIES_MAGNETON}, - [SPECIES_FARFETCHD] = {gMonPalette_Farfetchd, SPECIES_FARFETCHD}, - [SPECIES_DODUO] = {gMonPalette_Doduo, SPECIES_DODUO}, - [SPECIES_DODRIO] = {gMonPalette_Dodrio, SPECIES_DODRIO}, - [SPECIES_SEEL] = {gMonPalette_Seel, SPECIES_SEEL}, - [SPECIES_DEWGONG] = {gMonPalette_Dewgong, SPECIES_DEWGONG}, - [SPECIES_GRIMER] = {gMonPalette_Grimer, SPECIES_GRIMER}, - [SPECIES_MUK] = {gMonPalette_Muk, SPECIES_MUK}, - [SPECIES_SHELLDER] = {gMonPalette_Shellder, SPECIES_SHELLDER}, - [SPECIES_CLOYSTER] = {gMonPalette_Cloyster, SPECIES_CLOYSTER}, - [SPECIES_GASTLY] = {gMonPalette_Gastly, SPECIES_GASTLY}, - [SPECIES_HAUNTER] = {gMonPalette_Haunter, SPECIES_HAUNTER}, - [SPECIES_GENGAR] = {gMonPalette_Gengar, SPECIES_GENGAR}, - [SPECIES_ONIX] = {gMonPalette_Onix, SPECIES_ONIX}, - [SPECIES_DROWZEE] = {gMonPalette_Drowzee, SPECIES_DROWZEE}, - [SPECIES_HYPNO] = {gMonPalette_Hypno, SPECIES_HYPNO}, - [SPECIES_KRABBY] = {gMonPalette_Krabby, SPECIES_KRABBY}, - [SPECIES_KINGLER] = {gMonPalette_Kingler, SPECIES_KINGLER}, - [SPECIES_VOLTORB] = {gMonPalette_Voltorb, SPECIES_VOLTORB}, - [SPECIES_ELECTRODE] = {gMonPalette_Electrode, SPECIES_ELECTRODE}, - [SPECIES_EXEGGCUTE] = {gMonPalette_Exeggcute, SPECIES_EXEGGCUTE}, - [SPECIES_EXEGGUTOR] = {gMonPalette_Exeggutor, SPECIES_EXEGGUTOR}, - [SPECIES_CUBONE] = {gMonPalette_Cubone, SPECIES_CUBONE}, - [SPECIES_MAROWAK] = {gMonPalette_Marowak, SPECIES_MAROWAK}, - [SPECIES_HITMONLEE] = {gMonPalette_Hitmonlee, SPECIES_HITMONLEE}, - [SPECIES_HITMONCHAN] = {gMonPalette_Hitmonchan, SPECIES_HITMONCHAN}, - [SPECIES_LICKITUNG] = {gMonPalette_Lickitung, SPECIES_LICKITUNG}, - [SPECIES_KOFFING] = {gMonPalette_Koffing, SPECIES_KOFFING}, - [SPECIES_WEEZING] = {gMonPalette_Weezing, SPECIES_WEEZING}, - [SPECIES_RHYHORN] = {gMonPalette_Rhyhorn, SPECIES_RHYHORN}, - [SPECIES_RHYDON] = {gMonPalette_Rhydon, SPECIES_RHYDON}, - [SPECIES_CHANSEY] = {gMonPalette_Chansey, SPECIES_CHANSEY}, - [SPECIES_TANGELA] = {gMonPalette_Tangela, SPECIES_TANGELA}, - [SPECIES_KANGASKHAN] = {gMonPalette_Kangaskhan, SPECIES_KANGASKHAN}, - [SPECIES_HORSEA] = {gMonPalette_Horsea, SPECIES_HORSEA}, - [SPECIES_SEADRA] = {gMonPalette_Seadra, SPECIES_SEADRA}, - [SPECIES_GOLDEEN] = {gMonPalette_Goldeen, SPECIES_GOLDEEN}, - [SPECIES_SEAKING] = {gMonPalette_Seaking, SPECIES_SEAKING}, - [SPECIES_STARYU] = {gMonPalette_Staryu, SPECIES_STARYU}, - [SPECIES_STARMIE] = {gMonPalette_Starmie, SPECIES_STARMIE}, - [SPECIES_MR_MIME] = {gMonPalette_Mrmime, SPECIES_MR_MIME}, - [SPECIES_SCYTHER] = {gMonPalette_Scyther, SPECIES_SCYTHER}, - [SPECIES_JYNX] = {gMonPalette_Jynx, SPECIES_JYNX}, - [SPECIES_ELECTABUZZ] = {gMonPalette_Electabuzz, SPECIES_ELECTABUZZ}, - [SPECIES_MAGMAR] = {gMonPalette_Magmar, SPECIES_MAGMAR}, - [SPECIES_PINSIR] = {gMonPalette_Pinsir, SPECIES_PINSIR}, - [SPECIES_TAUROS] = {gMonPalette_Tauros, SPECIES_TAUROS}, - [SPECIES_MAGIKARP] = {gMonPalette_Magikarp, SPECIES_MAGIKARP}, - [SPECIES_GYARADOS] = {gMonPalette_Gyarados, SPECIES_GYARADOS}, - [SPECIES_LAPRAS] = {gMonPalette_Lapras, SPECIES_LAPRAS}, - [SPECIES_DITTO] = {gMonPalette_Ditto, SPECIES_DITTO}, - [SPECIES_EEVEE] = {gMonPalette_Eevee, SPECIES_EEVEE}, - [SPECIES_VAPOREON] = {gMonPalette_Vaporeon, SPECIES_VAPOREON}, - [SPECIES_JOLTEON] = {gMonPalette_Jolteon, SPECIES_JOLTEON}, - [SPECIES_FLAREON] = {gMonPalette_Flareon, SPECIES_FLAREON}, - [SPECIES_PORYGON] = {gMonPalette_Porygon, SPECIES_PORYGON}, - [SPECIES_OMANYTE] = {gMonPalette_Omanyte, SPECIES_OMANYTE}, - [SPECIES_OMASTAR] = {gMonPalette_Omastar, SPECIES_OMASTAR}, - [SPECIES_KABUTO] = {gMonPalette_Kabuto, SPECIES_KABUTO}, - [SPECIES_KABUTOPS] = {gMonPalette_Kabutops, SPECIES_KABUTOPS}, - [SPECIES_AERODACTYL] = {gMonPalette_Aerodactyl, SPECIES_AERODACTYL}, - [SPECIES_SNORLAX] = {gMonPalette_Snorlax, SPECIES_SNORLAX}, - [SPECIES_ARTICUNO] = {gMonPalette_Articuno, SPECIES_ARTICUNO}, - [SPECIES_ZAPDOS] = {gMonPalette_Zapdos, SPECIES_ZAPDOS}, - [SPECIES_MOLTRES] = {gMonPalette_Moltres, SPECIES_MOLTRES}, - [SPECIES_DRATINI] = {gMonPalette_Dratini, SPECIES_DRATINI}, - [SPECIES_DRAGONAIR] = {gMonPalette_Dragonair, SPECIES_DRAGONAIR}, - [SPECIES_DRAGONITE] = {gMonPalette_Dragonite, SPECIES_DRAGONITE}, - [SPECIES_MEWTWO] = {gMonPalette_Mewtwo, SPECIES_MEWTWO}, - [SPECIES_MEW] = {gMonPalette_Mew, SPECIES_MEW}, - [SPECIES_CHIKORITA] = {gMonPalette_Chikorita, SPECIES_CHIKORITA}, - [SPECIES_BAYLEEF] = {gMonPalette_Bayleef, SPECIES_BAYLEEF}, - [SPECIES_MEGANIUM] = {gMonPalette_Meganium, SPECIES_MEGANIUM}, - [SPECIES_CYNDAQUIL] = {gMonPalette_Cyndaquil, SPECIES_CYNDAQUIL}, - [SPECIES_QUILAVA] = {gMonPalette_Quilava, SPECIES_QUILAVA}, - [SPECIES_TYPHLOSION] = {gMonPalette_Typhlosion, SPECIES_TYPHLOSION}, - [SPECIES_TOTODILE] = {gMonPalette_Totodile, SPECIES_TOTODILE}, - [SPECIES_CROCONAW] = {gMonPalette_Croconaw, SPECIES_CROCONAW}, - [SPECIES_FERALIGATR] = {gMonPalette_Feraligatr, SPECIES_FERALIGATR}, - [SPECIES_SENTRET] = {gMonPalette_Sentret, SPECIES_SENTRET}, - [SPECIES_FURRET] = {gMonPalette_Furret, SPECIES_FURRET}, - [SPECIES_HOOTHOOT] = {gMonPalette_Hoothoot, SPECIES_HOOTHOOT}, - [SPECIES_NOCTOWL] = {gMonPalette_Noctowl, SPECIES_NOCTOWL}, - [SPECIES_LEDYBA] = {gMonPalette_Ledyba, SPECIES_LEDYBA}, - [SPECIES_LEDIAN] = {gMonPalette_Ledian, SPECIES_LEDIAN}, - [SPECIES_SPINARAK] = {gMonPalette_Spinarak, SPECIES_SPINARAK}, - [SPECIES_ARIADOS] = {gMonPalette_Ariados, SPECIES_ARIADOS}, - [SPECIES_CROBAT] = {gMonPalette_Crobat, SPECIES_CROBAT}, - [SPECIES_CHINCHOU] = {gMonPalette_Chinchou, SPECIES_CHINCHOU}, - [SPECIES_LANTURN] = {gMonPalette_Lanturn, SPECIES_LANTURN}, - [SPECIES_PICHU] = {gMonPalette_Pichu, SPECIES_PICHU}, - [SPECIES_CLEFFA] = {gMonPalette_Cleffa, SPECIES_CLEFFA}, - [SPECIES_IGGLYBUFF] = {gMonPalette_Igglybuff, SPECIES_IGGLYBUFF}, - [SPECIES_TOGEPI] = {gMonPalette_Togepi, SPECIES_TOGEPI}, - [SPECIES_TOGETIC] = {gMonPalette_Togetic, SPECIES_TOGETIC}, - [SPECIES_NATU] = {gMonPalette_Natu, SPECIES_NATU}, - [SPECIES_XATU] = {gMonPalette_Xatu, SPECIES_XATU}, - [SPECIES_MAREEP] = {gMonPalette_Mareep, SPECIES_MAREEP}, - [SPECIES_FLAAFFY] = {gMonPalette_Flaaffy, SPECIES_FLAAFFY}, - [SPECIES_AMPHAROS] = {gMonPalette_Ampharos, SPECIES_AMPHAROS}, - [SPECIES_BELLOSSOM] = {gMonPalette_Bellossom, SPECIES_BELLOSSOM}, - [SPECIES_MARILL] = {gMonPalette_Marill, SPECIES_MARILL}, - [SPECIES_AZUMARILL] = {gMonPalette_Azumarill, SPECIES_AZUMARILL}, - [SPECIES_SUDOWOODO] = {gMonPalette_Sudowoodo, SPECIES_SUDOWOODO}, - [SPECIES_POLITOED] = {gMonPalette_Politoed, SPECIES_POLITOED}, - [SPECIES_HOPPIP] = {gMonPalette_Hoppip, SPECIES_HOPPIP}, - [SPECIES_SKIPLOOM] = {gMonPalette_Skiploom, SPECIES_SKIPLOOM}, - [SPECIES_JUMPLUFF] = {gMonPalette_Jumpluff, SPECIES_JUMPLUFF}, - [SPECIES_AIPOM] = {gMonPalette_Aipom, SPECIES_AIPOM}, - [SPECIES_SUNKERN] = {gMonPalette_Sunkern, SPECIES_SUNKERN}, - [SPECIES_SUNFLORA] = {gMonPalette_Sunflora, SPECIES_SUNFLORA}, - [SPECIES_YANMA] = {gMonPalette_Yanma, SPECIES_YANMA}, - [SPECIES_WOOPER] = {gMonPalette_Wooper, SPECIES_WOOPER}, - [SPECIES_QUAGSIRE] = {gMonPalette_Quagsire, SPECIES_QUAGSIRE}, - [SPECIES_ESPEON] = {gMonPalette_Espeon, SPECIES_ESPEON}, - [SPECIES_UMBREON] = {gMonPalette_Umbreon, SPECIES_UMBREON}, - [SPECIES_MURKROW] = {gMonPalette_Murkrow, SPECIES_MURKROW}, - [SPECIES_SLOWKING] = {gMonPalette_Slowking, SPECIES_SLOWKING}, - [SPECIES_MISDREAVUS] = {gMonPalette_Misdreavus, SPECIES_MISDREAVUS}, - [SPECIES_UNOWN] = {gMonPalette_Unown, SPECIES_UNOWN}, - [SPECIES_WOBBUFFET] = {gMonPalette_Wobbuffet, SPECIES_WOBBUFFET}, - [SPECIES_GIRAFARIG] = {gMonPalette_Girafarig, SPECIES_GIRAFARIG}, - [SPECIES_PINECO] = {gMonPalette_Pineco, SPECIES_PINECO}, - [SPECIES_FORRETRESS] = {gMonPalette_Forretress, SPECIES_FORRETRESS}, - [SPECIES_DUNSPARCE] = {gMonPalette_Dunsparce, SPECIES_DUNSPARCE}, - [SPECIES_GLIGAR] = {gMonPalette_Gligar, SPECIES_GLIGAR}, - [SPECIES_STEELIX] = {gMonPalette_Steelix, SPECIES_STEELIX}, - [SPECIES_SNUBBULL] = {gMonPalette_Snubbull, SPECIES_SNUBBULL}, - [SPECIES_GRANBULL] = {gMonPalette_Granbull, SPECIES_GRANBULL}, - [SPECIES_QWILFISH] = {gMonPalette_Qwilfish, SPECIES_QWILFISH}, - [SPECIES_SCIZOR] = {gMonPalette_Scizor, SPECIES_SCIZOR}, - [SPECIES_SHUCKLE] = {gMonPalette_Shuckle, SPECIES_SHUCKLE}, - [SPECIES_HERACROSS] = {gMonPalette_Heracross, SPECIES_HERACROSS}, - [SPECIES_SNEASEL] = {gMonPalette_Sneasel, SPECIES_SNEASEL}, - [SPECIES_TEDDIURSA] = {gMonPalette_Teddiursa, SPECIES_TEDDIURSA}, - [SPECIES_URSARING] = {gMonPalette_Ursaring, SPECIES_URSARING}, - [SPECIES_SLUGMA] = {gMonPalette_Slugma, SPECIES_SLUGMA}, - [SPECIES_MAGCARGO] = {gMonPalette_Magcargo, SPECIES_MAGCARGO}, - [SPECIES_SWINUB] = {gMonPalette_Swinub, SPECIES_SWINUB}, - [SPECIES_PILOSWINE] = {gMonPalette_Piloswine, SPECIES_PILOSWINE}, - [SPECIES_CORSOLA] = {gMonPalette_Corsola, SPECIES_CORSOLA}, - [SPECIES_REMORAID] = {gMonPalette_Remoraid, SPECIES_REMORAID}, - [SPECIES_OCTILLERY] = {gMonPalette_Octillery, SPECIES_OCTILLERY}, - [SPECIES_DELIBIRD] = {gMonPalette_Delibird, SPECIES_DELIBIRD}, - [SPECIES_MANTINE] = {gMonPalette_Mantine, SPECIES_MANTINE}, - [SPECIES_SKARMORY] = {gMonPalette_Skarmory, SPECIES_SKARMORY}, - [SPECIES_HOUNDOUR] = {gMonPalette_Houndour, SPECIES_HOUNDOUR}, - [SPECIES_HOUNDOOM] = {gMonPalette_Houndoom, SPECIES_HOUNDOOM}, - [SPECIES_KINGDRA] = {gMonPalette_Kingdra, SPECIES_KINGDRA}, - [SPECIES_PHANPY] = {gMonPalette_Phanpy, SPECIES_PHANPY}, - [SPECIES_DONPHAN] = {gMonPalette_Donphan, SPECIES_DONPHAN}, - [SPECIES_PORYGON2] = {gMonPalette_Porygon2, SPECIES_PORYGON2}, - [SPECIES_STANTLER] = {gMonPalette_Stantler, SPECIES_STANTLER}, - [SPECIES_SMEARGLE] = {gMonPalette_Smeargle, SPECIES_SMEARGLE}, - [SPECIES_TYROGUE] = {gMonPalette_Tyrogue, SPECIES_TYROGUE}, - [SPECIES_HITMONTOP] = {gMonPalette_Hitmontop, SPECIES_HITMONTOP}, - [SPECIES_SMOOCHUM] = {gMonPalette_Smoochum, SPECIES_SMOOCHUM}, - [SPECIES_ELEKID] = {gMonPalette_Elekid, SPECIES_ELEKID}, - [SPECIES_MAGBY] = {gMonPalette_Magby, SPECIES_MAGBY}, - [SPECIES_MILTANK] = {gMonPalette_Miltank, SPECIES_MILTANK}, - [SPECIES_BLISSEY] = {gMonPalette_Blissey, SPECIES_BLISSEY}, - [SPECIES_RAIKOU] = {gMonPalette_Raikou, SPECIES_RAIKOU}, - [SPECIES_ENTEI] = {gMonPalette_Entei, SPECIES_ENTEI}, - [SPECIES_SUICUNE] = {gMonPalette_Suicune, SPECIES_SUICUNE}, - [SPECIES_LARVITAR] = {gMonPalette_Larvitar, SPECIES_LARVITAR}, - [SPECIES_PUPITAR] = {gMonPalette_Pupitar, SPECIES_PUPITAR}, - [SPECIES_TYRANITAR] = {gMonPalette_Tyranitar, SPECIES_TYRANITAR}, - [SPECIES_LUGIA] = {gMonPalette_Lugia, SPECIES_LUGIA}, - [SPECIES_HO_OH] = {gMonPalette_HoOh, SPECIES_HO_OH}, - [SPECIES_CELEBI] = {gMonPalette_Celebi, SPECIES_CELEBI}, - [SPECIES_OLD_UNOWN_B] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B}, - [SPECIES_OLD_UNOWN_C] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C}, - [SPECIES_OLD_UNOWN_D] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D}, - [SPECIES_OLD_UNOWN_E] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E}, - [SPECIES_OLD_UNOWN_F] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F}, - [SPECIES_OLD_UNOWN_G] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G}, - [SPECIES_OLD_UNOWN_H] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H}, - [SPECIES_OLD_UNOWN_I] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I}, - [SPECIES_OLD_UNOWN_J] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J}, - [SPECIES_OLD_UNOWN_K] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K}, - [SPECIES_OLD_UNOWN_L] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L}, - [SPECIES_OLD_UNOWN_M] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M}, - [SPECIES_OLD_UNOWN_N] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N}, - [SPECIES_OLD_UNOWN_O] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O}, - [SPECIES_OLD_UNOWN_P] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P}, - [SPECIES_OLD_UNOWN_Q] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q}, - [SPECIES_OLD_UNOWN_R] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R}, - [SPECIES_OLD_UNOWN_S] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S}, - [SPECIES_OLD_UNOWN_T] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T}, - [SPECIES_OLD_UNOWN_U] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U}, - [SPECIES_OLD_UNOWN_V] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V}, - [SPECIES_OLD_UNOWN_W] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W}, - [SPECIES_OLD_UNOWN_X] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X}, - [SPECIES_OLD_UNOWN_Y] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y}, - [SPECIES_OLD_UNOWN_Z] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z}, - [SPECIES_TREECKO] = {gMonPalette_Treecko, SPECIES_TREECKO}, - [SPECIES_GROVYLE] = {gMonPalette_Grovyle, SPECIES_GROVYLE}, - [SPECIES_SCEPTILE] = {gMonPalette_Sceptile, SPECIES_SCEPTILE}, - [SPECIES_TORCHIC] = {gMonPalette_Torchic, SPECIES_TORCHIC}, - [SPECIES_COMBUSKEN] = {gMonPalette_Combusken, SPECIES_COMBUSKEN}, - [SPECIES_BLAZIKEN] = {gMonPalette_Blaziken, SPECIES_BLAZIKEN}, - [SPECIES_MUDKIP] = {gMonPalette_Mudkip, SPECIES_MUDKIP}, - [SPECIES_MARSHTOMP] = {gMonPalette_Marshtomp, SPECIES_MARSHTOMP}, - [SPECIES_SWAMPERT] = {gMonPalette_Swampert, SPECIES_SWAMPERT}, - [SPECIES_POOCHYENA] = {gMonPalette_Poochyena, SPECIES_POOCHYENA}, - [SPECIES_MIGHTYENA] = {gMonPalette_Mightyena, SPECIES_MIGHTYENA}, - [SPECIES_ZIGZAGOON] = {gMonPalette_Zigzagoon, SPECIES_ZIGZAGOON}, - [SPECIES_LINOONE] = {gMonPalette_Linoone, SPECIES_LINOONE}, - [SPECIES_WURMPLE] = {gMonPalette_Wurmple, SPECIES_WURMPLE}, - [SPECIES_SILCOON] = {gMonPalette_Silcoon, SPECIES_SILCOON}, - [SPECIES_BEAUTIFLY] = {gMonPalette_Beautifly, SPECIES_BEAUTIFLY}, - [SPECIES_CASCOON] = {gMonPalette_Cascoon, SPECIES_CASCOON}, - [SPECIES_DUSTOX] = {gMonPalette_Dustox, SPECIES_DUSTOX}, - [SPECIES_LOTAD] = {gMonPalette_Lotad, SPECIES_LOTAD}, - [SPECIES_LOMBRE] = {gMonPalette_Lombre, SPECIES_LOMBRE}, - [SPECIES_LUDICOLO] = {gMonPalette_Ludicolo, SPECIES_LUDICOLO}, - [SPECIES_SEEDOT] = {gMonPalette_Seedot, SPECIES_SEEDOT}, - [SPECIES_NUZLEAF] = {gMonPalette_Nuzleaf, SPECIES_NUZLEAF}, - [SPECIES_SHIFTRY] = {gMonPalette_Shiftry, SPECIES_SHIFTRY}, - [SPECIES_NINCADA] = {gMonPalette_Nincada, SPECIES_NINCADA}, - [SPECIES_NINJASK] = {gMonPalette_Ninjask, SPECIES_NINJASK}, - [SPECIES_SHEDINJA] = {gMonPalette_Shedinja, SPECIES_SHEDINJA}, - [SPECIES_TAILLOW] = {gMonPalette_Taillow, SPECIES_TAILLOW}, - [SPECIES_SWELLOW] = {gMonPalette_Swellow, SPECIES_SWELLOW}, - [SPECIES_SHROOMISH] = {gMonPalette_Shroomish, SPECIES_SHROOMISH}, - [SPECIES_BRELOOM] = {gMonPalette_Breloom, SPECIES_BRELOOM}, - [SPECIES_SPINDA] = {gMonPalette_Spinda, SPECIES_SPINDA}, - [SPECIES_WINGULL] = {gMonPalette_Wingull, SPECIES_WINGULL}, - [SPECIES_PELIPPER] = {gMonPalette_Pelipper, SPECIES_PELIPPER}, - [SPECIES_SURSKIT] = {gMonPalette_Surskit, SPECIES_SURSKIT}, - [SPECIES_MASQUERAIN] = {gMonPalette_Masquerain, SPECIES_MASQUERAIN}, - [SPECIES_WAILMER] = {gMonPalette_Wailmer, SPECIES_WAILMER}, - [SPECIES_WAILORD] = {gMonPalette_Wailord, SPECIES_WAILORD}, - [SPECIES_SKITTY] = {gMonPalette_Skitty, SPECIES_SKITTY}, - [SPECIES_DELCATTY] = {gMonPalette_Delcatty, SPECIES_DELCATTY}, - [SPECIES_KECLEON] = {gMonPalette_Kecleon, SPECIES_KECLEON}, - [SPECIES_BALTOY] = {gMonPalette_Baltoy, SPECIES_BALTOY}, - [SPECIES_CLAYDOL] = {gMonPalette_Claydol, SPECIES_CLAYDOL}, - [SPECIES_NOSEPASS] = {gMonPalette_Nosepass, SPECIES_NOSEPASS}, - [SPECIES_TORKOAL] = {gMonPalette_Torkoal, SPECIES_TORKOAL}, - [SPECIES_SABLEYE] = {gMonPalette_Sableye, SPECIES_SABLEYE}, - [SPECIES_BARBOACH] = {gMonPalette_Barboach, SPECIES_BARBOACH}, - [SPECIES_WHISCASH] = {gMonPalette_Whiscash, SPECIES_WHISCASH}, - [SPECIES_LUVDISC] = {gMonPalette_Luvdisc, SPECIES_LUVDISC}, - [SPECIES_CORPHISH] = {gMonPalette_Corphish, SPECIES_CORPHISH}, - [SPECIES_CRAWDAUNT] = {gMonPalette_Crawdaunt, SPECIES_CRAWDAUNT}, - [SPECIES_FEEBAS] = {gMonPalette_Feebas, SPECIES_FEEBAS}, - [SPECIES_MILOTIC] = {gMonPalette_Milotic, SPECIES_MILOTIC}, - [SPECIES_CARVANHA] = {gMonPalette_Carvanha, SPECIES_CARVANHA}, - [SPECIES_SHARPEDO] = {gMonPalette_Sharpedo, SPECIES_SHARPEDO}, - [SPECIES_TRAPINCH] = {gMonPalette_Trapinch, SPECIES_TRAPINCH}, - [SPECIES_VIBRAVA] = {gMonPalette_Vibrava, SPECIES_VIBRAVA}, - [SPECIES_FLYGON] = {gMonPalette_Flygon, SPECIES_FLYGON}, - [SPECIES_MAKUHITA] = {gMonPalette_Makuhita, SPECIES_MAKUHITA}, - [SPECIES_HARIYAMA] = {gMonPalette_Hariyama, SPECIES_HARIYAMA}, - [SPECIES_ELECTRIKE] = {gMonPalette_Electrike, SPECIES_ELECTRIKE}, - [SPECIES_MANECTRIC] = {gMonPalette_Manectric, SPECIES_MANECTRIC}, - [SPECIES_NUMEL] = {gMonPalette_Numel, SPECIES_NUMEL}, - [SPECIES_CAMERUPT] = {gMonPalette_Camerupt, SPECIES_CAMERUPT}, - [SPECIES_SPHEAL] = {gMonPalette_Spheal, SPECIES_SPHEAL}, - [SPECIES_SEALEO] = {gMonPalette_Sealeo, SPECIES_SEALEO}, - [SPECIES_WALREIN] = {gMonPalette_Walrein, SPECIES_WALREIN}, - [SPECIES_CACNEA] = {gMonPalette_Cacnea, SPECIES_CACNEA}, - [SPECIES_CACTURNE] = {gMonPalette_Cacturne, SPECIES_CACTURNE}, - [SPECIES_SNORUNT] = {gMonPalette_Snorunt, SPECIES_SNORUNT}, - [SPECIES_GLALIE] = {gMonPalette_Glalie, SPECIES_GLALIE}, - [SPECIES_LUNATONE] = {gMonPalette_Lunatone, SPECIES_LUNATONE}, - [SPECIES_SOLROCK] = {gMonPalette_Solrock, SPECIES_SOLROCK}, - [SPECIES_AZURILL] = {gMonPalette_Azurill, SPECIES_AZURILL}, - [SPECIES_SPOINK] = {gMonPalette_Spoink, SPECIES_SPOINK}, - [SPECIES_GRUMPIG] = {gMonPalette_Grumpig, SPECIES_GRUMPIG}, - [SPECIES_PLUSLE] = {gMonPalette_Plusle, SPECIES_PLUSLE}, - [SPECIES_MINUN] = {gMonPalette_Minun, SPECIES_MINUN}, - [SPECIES_MAWILE] = {gMonPalette_Mawile, SPECIES_MAWILE}, - [SPECIES_MEDITITE] = {gMonPalette_Meditite, SPECIES_MEDITITE}, - [SPECIES_MEDICHAM] = {gMonPalette_Medicham, SPECIES_MEDICHAM}, - [SPECIES_SWABLU] = {gMonPalette_Swablu, SPECIES_SWABLU}, - [SPECIES_ALTARIA] = {gMonPalette_Altaria, SPECIES_ALTARIA}, - [SPECIES_WYNAUT] = {gMonPalette_Wynaut, SPECIES_WYNAUT}, - [SPECIES_DUSKULL] = {gMonPalette_Duskull, SPECIES_DUSKULL}, - [SPECIES_DUSCLOPS] = {gMonPalette_Dusclops, SPECIES_DUSCLOPS}, - [SPECIES_ROSELIA] = {gMonPalette_Roselia, SPECIES_ROSELIA}, - [SPECIES_SLAKOTH] = {gMonPalette_Slakoth, SPECIES_SLAKOTH}, - [SPECIES_VIGOROTH] = {gMonPalette_Vigoroth, SPECIES_VIGOROTH}, - [SPECIES_SLAKING] = {gMonPalette_Slaking, SPECIES_SLAKING}, - [SPECIES_GULPIN] = {gMonPalette_Gulpin, SPECIES_GULPIN}, - [SPECIES_SWALOT] = {gMonPalette_Swalot, SPECIES_SWALOT}, - [SPECIES_TROPIUS] = {gMonPalette_Tropius, SPECIES_TROPIUS}, - [SPECIES_WHISMUR] = {gMonPalette_Whismur, SPECIES_WHISMUR}, - [SPECIES_LOUDRED] = {gMonPalette_Loudred, SPECIES_LOUDRED}, - [SPECIES_EXPLOUD] = {gMonPalette_Exploud, SPECIES_EXPLOUD}, - [SPECIES_CLAMPERL] = {gMonPalette_Clamperl, SPECIES_CLAMPERL}, - [SPECIES_HUNTAIL] = {gMonPalette_Huntail, SPECIES_HUNTAIL}, - [SPECIES_GOREBYSS] = {gMonPalette_Gorebyss, SPECIES_GOREBYSS}, - [SPECIES_ABSOL] = {gMonPalette_Absol, SPECIES_ABSOL}, - [SPECIES_SHUPPET] = {gMonPalette_Shuppet, SPECIES_SHUPPET}, - [SPECIES_BANETTE] = {gMonPalette_Banette, SPECIES_BANETTE}, - [SPECIES_SEVIPER] = {gMonPalette_Seviper, SPECIES_SEVIPER}, - [SPECIES_ZANGOOSE] = {gMonPalette_Zangoose, SPECIES_ZANGOOSE}, - [SPECIES_RELICANTH] = {gMonPalette_Relicanth, SPECIES_RELICANTH}, - [SPECIES_ARON] = {gMonPalette_Aron, SPECIES_ARON}, - [SPECIES_LAIRON] = {gMonPalette_Lairon, SPECIES_LAIRON}, - [SPECIES_AGGRON] = {gMonPalette_Aggron, SPECIES_AGGRON}, - [SPECIES_CASTFORM] = {gMonPalette_Castform, SPECIES_CASTFORM}, - [SPECIES_VOLBEAT] = {gMonPalette_Volbeat, SPECIES_VOLBEAT}, - [SPECIES_ILLUMISE] = {gMonPalette_Illumise, SPECIES_ILLUMISE}, - [SPECIES_LILEEP] = {gMonPalette_Lileep, SPECIES_LILEEP}, - [SPECIES_CRADILY] = {gMonPalette_Cradily, SPECIES_CRADILY}, - [SPECIES_ANORITH] = {gMonPalette_Anorith, SPECIES_ANORITH}, - [SPECIES_ARMALDO] = {gMonPalette_Armaldo, SPECIES_ARMALDO}, - [SPECIES_RALTS] = {gMonPalette_Ralts, SPECIES_RALTS}, - [SPECIES_KIRLIA] = {gMonPalette_Kirlia, SPECIES_KIRLIA}, - [SPECIES_GARDEVOIR] = {gMonPalette_Gardevoir, SPECIES_GARDEVOIR}, - [SPECIES_BAGON] = {gMonPalette_Bagon, SPECIES_BAGON}, - [SPECIES_SHELGON] = {gMonPalette_Shelgon, SPECIES_SHELGON}, - [SPECIES_SALAMENCE] = {gMonPalette_Salamence, SPECIES_SALAMENCE}, - [SPECIES_BELDUM] = {gMonPalette_Beldum, SPECIES_BELDUM}, - [SPECIES_METANG] = {gMonPalette_Metang, SPECIES_METANG}, - [SPECIES_METAGROSS] = {gMonPalette_Metagross, SPECIES_METAGROSS}, - [SPECIES_REGIROCK] = {gMonPalette_Regirock, SPECIES_REGIROCK}, - [SPECIES_REGICE] = {gMonPalette_Regice, SPECIES_REGICE}, - [SPECIES_REGISTEEL] = {gMonPalette_Registeel, SPECIES_REGISTEEL}, - [SPECIES_KYOGRE] = {gMonPalette_Kyogre, SPECIES_KYOGRE}, - [SPECIES_GROUDON] = {gMonPalette_Groudon, SPECIES_GROUDON}, - [SPECIES_RAYQUAZA] = {gMonPalette_Rayquaza, SPECIES_RAYQUAZA}, - [SPECIES_LATIAS] = {gMonPalette_Latias, SPECIES_LATIAS}, - [SPECIES_LATIOS] = {gMonPalette_Latios, SPECIES_LATIOS}, - [SPECIES_JIRACHI] = {gMonPalette_Jirachi, SPECIES_JIRACHI}, - [SPECIES_DEOXYS] = {gMonPalette_Deoxys, SPECIES_DEOXYS}, - [SPECIES_CHIMECHO] = {gMonPalette_Chimecho, SPECIES_CHIMECHO}, - [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG}, - [SPECIES_UNOWN_B] = {gMonPalette_Unown, SPECIES_UNOWN_B}, - [SPECIES_UNOWN_C] = {gMonPalette_Unown, SPECIES_UNOWN_C}, - [SPECIES_UNOWN_D] = {gMonPalette_Unown, SPECIES_UNOWN_D}, - [SPECIES_UNOWN_E] = {gMonPalette_Unown, SPECIES_UNOWN_E}, - [SPECIES_UNOWN_F] = {gMonPalette_Unown, SPECIES_UNOWN_F}, - [SPECIES_UNOWN_G] = {gMonPalette_Unown, SPECIES_UNOWN_G}, - [SPECIES_UNOWN_H] = {gMonPalette_Unown, SPECIES_UNOWN_H}, - [SPECIES_UNOWN_I] = {gMonPalette_Unown, SPECIES_UNOWN_I}, - [SPECIES_UNOWN_J] = {gMonPalette_Unown, SPECIES_UNOWN_J}, - [SPECIES_UNOWN_K] = {gMonPalette_Unown, SPECIES_UNOWN_K}, - [SPECIES_UNOWN_L] = {gMonPalette_Unown, SPECIES_UNOWN_L}, - [SPECIES_UNOWN_M] = {gMonPalette_Unown, SPECIES_UNOWN_M}, - [SPECIES_UNOWN_N] = {gMonPalette_Unown, SPECIES_UNOWN_N}, - [SPECIES_UNOWN_O] = {gMonPalette_Unown, SPECIES_UNOWN_O}, - [SPECIES_UNOWN_P] = {gMonPalette_Unown, SPECIES_UNOWN_P}, - [SPECIES_UNOWN_Q] = {gMonPalette_Unown, SPECIES_UNOWN_Q}, - [SPECIES_UNOWN_R] = {gMonPalette_Unown, SPECIES_UNOWN_R}, - [SPECIES_UNOWN_S] = {gMonPalette_Unown, SPECIES_UNOWN_S}, - [SPECIES_UNOWN_T] = {gMonPalette_Unown, SPECIES_UNOWN_T}, - [SPECIES_UNOWN_U] = {gMonPalette_Unown, SPECIES_UNOWN_U}, - [SPECIES_UNOWN_V] = {gMonPalette_Unown, SPECIES_UNOWN_V}, - [SPECIES_UNOWN_W] = {gMonPalette_Unown, SPECIES_UNOWN_W}, - [SPECIES_UNOWN_X] = {gMonPalette_Unown, SPECIES_UNOWN_X}, - [SPECIES_UNOWN_Y] = {gMonPalette_Unown, SPECIES_UNOWN_Y}, - [SPECIES_UNOWN_Z] = {gMonPalette_Unown, SPECIES_UNOWN_Z}, - [SPECIES_UNOWN_EMARK] = {gMonPalette_Unown, SPECIES_UNOWN_EMARK}, - [SPECIES_UNOWN_QMARK] = {gMonPalette_Unown, SPECIES_UNOWN_QMARK}, + SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark), + SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur), + SPECIES_PAL(IVYSAUR, gMonPalette_Ivysaur), + SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur), + SPECIES_PAL(CHARMANDER, gMonPalette_Charmander), + SPECIES_PAL(CHARMELEON, gMonPalette_Charmeleon), + SPECIES_PAL(CHARIZARD, gMonPalette_Charizard), + SPECIES_PAL(SQUIRTLE, gMonPalette_Squirtle), + SPECIES_PAL(WARTORTLE, gMonPalette_Wartortle), + SPECIES_PAL(BLASTOISE, gMonPalette_Blastoise), + SPECIES_PAL(CATERPIE, gMonPalette_Caterpie), + SPECIES_PAL(METAPOD, gMonPalette_Metapod), + SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree), + SPECIES_PAL(WEEDLE, gMonPalette_Weedle), + SPECIES_PAL(KAKUNA, gMonPalette_Kakuna), + SPECIES_PAL(BEEDRILL, gMonPalette_Beedrill), + SPECIES_PAL(PIDGEY, gMonPalette_Pidgey), + SPECIES_PAL(PIDGEOTTO, gMonPalette_Pidgeotto), + SPECIES_PAL(PIDGEOT, gMonPalette_Pidgeot), + SPECIES_PAL(RATTATA, gMonPalette_Rattata), + SPECIES_PAL(RATICATE, gMonPalette_Raticate), + SPECIES_PAL(SPEAROW, gMonPalette_Spearow), + SPECIES_PAL(FEAROW, gMonPalette_Fearow), + SPECIES_PAL(EKANS, gMonPalette_Ekans), + SPECIES_PAL(ARBOK, gMonPalette_Arbok), + SPECIES_PAL(PIKACHU, gMonPalette_Pikachu), + SPECIES_PAL(RAICHU, gMonPalette_Raichu), + SPECIES_PAL(SANDSHREW, gMonPalette_Sandshrew), + SPECIES_PAL(SANDSLASH, gMonPalette_Sandslash), + SPECIES_PAL(NIDORAN_F, gMonPalette_NidoranF), + SPECIES_PAL(NIDORINA, gMonPalette_Nidorina), + SPECIES_PAL(NIDOQUEEN, gMonPalette_Nidoqueen), + SPECIES_PAL(NIDORAN_M, gMonPalette_NidoranM), + SPECIES_PAL(NIDORINO, gMonPalette_Nidorino), + SPECIES_PAL(NIDOKING, gMonPalette_Nidoking), + SPECIES_PAL(CLEFAIRY, gMonPalette_Clefairy), + SPECIES_PAL(CLEFABLE, gMonPalette_Clefable), + SPECIES_PAL(VULPIX, gMonPalette_Vulpix), + SPECIES_PAL(NINETALES, gMonPalette_Ninetales), + SPECIES_PAL(JIGGLYPUFF, gMonPalette_Jigglypuff), + SPECIES_PAL(WIGGLYTUFF, gMonPalette_Wigglytuff), + SPECIES_PAL(ZUBAT, gMonPalette_Zubat), + SPECIES_PAL(GOLBAT, gMonPalette_Golbat), + SPECIES_PAL(ODDISH, gMonPalette_Oddish), + SPECIES_PAL(GLOOM, gMonPalette_Gloom), + SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume), + SPECIES_PAL(PARAS, gMonPalette_Paras), + SPECIES_PAL(PARASECT, gMonPalette_Parasect), + SPECIES_PAL(VENONAT, gMonPalette_Venonat), + SPECIES_PAL(VENOMOTH, gMonPalette_Venomoth), + SPECIES_PAL(DIGLETT, gMonPalette_Diglett), + SPECIES_PAL(DUGTRIO, gMonPalette_Dugtrio), + SPECIES_PAL(MEOWTH, gMonPalette_Meowth), + SPECIES_PAL(PERSIAN, gMonPalette_Persian), + SPECIES_PAL(PSYDUCK, gMonPalette_Psyduck), + SPECIES_PAL(GOLDUCK, gMonPalette_Golduck), + SPECIES_PAL(MANKEY, gMonPalette_Mankey), + SPECIES_PAL(PRIMEAPE, gMonPalette_Primeape), + SPECIES_PAL(GROWLITHE, gMonPalette_Growlithe), + SPECIES_PAL(ARCANINE, gMonPalette_Arcanine), + SPECIES_PAL(POLIWAG, gMonPalette_Poliwag), + SPECIES_PAL(POLIWHIRL, gMonPalette_Poliwhirl), + SPECIES_PAL(POLIWRATH, gMonPalette_Poliwrath), + SPECIES_PAL(ABRA, gMonPalette_Abra), + SPECIES_PAL(KADABRA, gMonPalette_Kadabra), + SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam), + SPECIES_PAL(MACHOP, gMonPalette_Machop), + SPECIES_PAL(MACHOKE, gMonPalette_Machoke), + SPECIES_PAL(MACHAMP, gMonPalette_Machamp), + SPECIES_PAL(BELLSPROUT, gMonPalette_Bellsprout), + SPECIES_PAL(WEEPINBELL, gMonPalette_Weepinbell), + SPECIES_PAL(VICTREEBEL, gMonPalette_Victreebel), + SPECIES_PAL(TENTACOOL, gMonPalette_Tentacool), + SPECIES_PAL(TENTACRUEL, gMonPalette_Tentacruel), + SPECIES_PAL(GEODUDE, gMonPalette_Geodude), + SPECIES_PAL(GRAVELER, gMonPalette_Graveler), + SPECIES_PAL(GOLEM, gMonPalette_Golem), + SPECIES_PAL(PONYTA, gMonPalette_Ponyta), + SPECIES_PAL(RAPIDASH, gMonPalette_Rapidash), + SPECIES_PAL(SLOWPOKE, gMonPalette_Slowpoke), + SPECIES_PAL(SLOWBRO, gMonPalette_Slowbro), + SPECIES_PAL(MAGNEMITE, gMonPalette_Magnemite), + SPECIES_PAL(MAGNETON, gMonPalette_Magneton), + SPECIES_PAL(FARFETCHD, gMonPalette_Farfetchd), + SPECIES_PAL(DODUO, gMonPalette_Doduo), + SPECIES_PAL(DODRIO, gMonPalette_Dodrio), + SPECIES_PAL(SEEL, gMonPalette_Seel), + SPECIES_PAL(DEWGONG, gMonPalette_Dewgong), + SPECIES_PAL(GRIMER, gMonPalette_Grimer), + SPECIES_PAL(MUK, gMonPalette_Muk), + SPECIES_PAL(SHELLDER, gMonPalette_Shellder), + SPECIES_PAL(CLOYSTER, gMonPalette_Cloyster), + SPECIES_PAL(GASTLY, gMonPalette_Gastly), + SPECIES_PAL(HAUNTER, gMonPalette_Haunter), + SPECIES_PAL(GENGAR, gMonPalette_Gengar), + SPECIES_PAL(ONIX, gMonPalette_Onix), + SPECIES_PAL(DROWZEE, gMonPalette_Drowzee), + SPECIES_PAL(HYPNO, gMonPalette_Hypno), + SPECIES_PAL(KRABBY, gMonPalette_Krabby), + SPECIES_PAL(KINGLER, gMonPalette_Kingler), + SPECIES_PAL(VOLTORB, gMonPalette_Voltorb), + SPECIES_PAL(ELECTRODE, gMonPalette_Electrode), + SPECIES_PAL(EXEGGCUTE, gMonPalette_Exeggcute), + SPECIES_PAL(EXEGGUTOR, gMonPalette_Exeggutor), + SPECIES_PAL(CUBONE, gMonPalette_Cubone), + SPECIES_PAL(MAROWAK, gMonPalette_Marowak), + SPECIES_PAL(HITMONLEE, gMonPalette_Hitmonlee), + SPECIES_PAL(HITMONCHAN, gMonPalette_Hitmonchan), + SPECIES_PAL(LICKITUNG, gMonPalette_Lickitung), + SPECIES_PAL(KOFFING, gMonPalette_Koffing), + SPECIES_PAL(WEEZING, gMonPalette_Weezing), + SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn), + SPECIES_PAL(RHYDON, gMonPalette_Rhydon), + SPECIES_PAL(CHANSEY, gMonPalette_Chansey), + SPECIES_PAL(TANGELA, gMonPalette_Tangela), + SPECIES_PAL(KANGASKHAN, gMonPalette_Kangaskhan), + SPECIES_PAL(HORSEA, gMonPalette_Horsea), + SPECIES_PAL(SEADRA, gMonPalette_Seadra), + SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen), + SPECIES_PAL(SEAKING, gMonPalette_Seaking), + SPECIES_PAL(STARYU, gMonPalette_Staryu), + SPECIES_PAL(STARMIE, gMonPalette_Starmie), + SPECIES_PAL(MR_MIME, gMonPalette_Mrmime), + SPECIES_PAL(SCYTHER, gMonPalette_Scyther), + SPECIES_PAL(JYNX, gMonPalette_Jynx), + SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz), + SPECIES_PAL(MAGMAR, gMonPalette_Magmar), + SPECIES_PAL(PINSIR, gMonPalette_Pinsir), + SPECIES_PAL(TAUROS, gMonPalette_Tauros), + SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp), + SPECIES_PAL(GYARADOS, gMonPalette_Gyarados), + SPECIES_PAL(LAPRAS, gMonPalette_Lapras), + SPECIES_PAL(DITTO, gMonPalette_Ditto), + SPECIES_PAL(EEVEE, gMonPalette_Eevee), + SPECIES_PAL(VAPOREON, gMonPalette_Vaporeon), + SPECIES_PAL(JOLTEON, gMonPalette_Jolteon), + SPECIES_PAL(FLAREON, gMonPalette_Flareon), + SPECIES_PAL(PORYGON, gMonPalette_Porygon), + SPECIES_PAL(OMANYTE, gMonPalette_Omanyte), + SPECIES_PAL(OMASTAR, gMonPalette_Omastar), + SPECIES_PAL(KABUTO, gMonPalette_Kabuto), + SPECIES_PAL(KABUTOPS, gMonPalette_Kabutops), + SPECIES_PAL(AERODACTYL, gMonPalette_Aerodactyl), + SPECIES_PAL(SNORLAX, gMonPalette_Snorlax), + SPECIES_PAL(ARTICUNO, gMonPalette_Articuno), + SPECIES_PAL(ZAPDOS, gMonPalette_Zapdos), + SPECIES_PAL(MOLTRES, gMonPalette_Moltres), + SPECIES_PAL(DRATINI, gMonPalette_Dratini), + SPECIES_PAL(DRAGONAIR, gMonPalette_Dragonair), + SPECIES_PAL(DRAGONITE, gMonPalette_Dragonite), + SPECIES_PAL(MEWTWO, gMonPalette_Mewtwo), + SPECIES_PAL(MEW, gMonPalette_Mew), + SPECIES_PAL(CHIKORITA, gMonPalette_Chikorita), + SPECIES_PAL(BAYLEEF, gMonPalette_Bayleef), + SPECIES_PAL(MEGANIUM, gMonPalette_Meganium), + SPECIES_PAL(CYNDAQUIL, gMonPalette_Cyndaquil), + SPECIES_PAL(QUILAVA, gMonPalette_Quilava), + SPECIES_PAL(TYPHLOSION, gMonPalette_Typhlosion), + SPECIES_PAL(TOTODILE, gMonPalette_Totodile), + SPECIES_PAL(CROCONAW, gMonPalette_Croconaw), + SPECIES_PAL(FERALIGATR, gMonPalette_Feraligatr), + SPECIES_PAL(SENTRET, gMonPalette_Sentret), + SPECIES_PAL(FURRET, gMonPalette_Furret), + SPECIES_PAL(HOOTHOOT, gMonPalette_Hoothoot), + SPECIES_PAL(NOCTOWL, gMonPalette_Noctowl), + SPECIES_PAL(LEDYBA, gMonPalette_Ledyba), + SPECIES_PAL(LEDIAN, gMonPalette_Ledian), + SPECIES_PAL(SPINARAK, gMonPalette_Spinarak), + SPECIES_PAL(ARIADOS, gMonPalette_Ariados), + SPECIES_PAL(CROBAT, gMonPalette_Crobat), + SPECIES_PAL(CHINCHOU, gMonPalette_Chinchou), + SPECIES_PAL(LANTURN, gMonPalette_Lanturn), + SPECIES_PAL(PICHU, gMonPalette_Pichu), + SPECIES_PAL(CLEFFA, gMonPalette_Cleffa), + SPECIES_PAL(IGGLYBUFF, gMonPalette_Igglybuff), + SPECIES_PAL(TOGEPI, gMonPalette_Togepi), + SPECIES_PAL(TOGETIC, gMonPalette_Togetic), + SPECIES_PAL(NATU, gMonPalette_Natu), + SPECIES_PAL(XATU, gMonPalette_Xatu), + SPECIES_PAL(MAREEP, gMonPalette_Mareep), + SPECIES_PAL(FLAAFFY, gMonPalette_Flaaffy), + SPECIES_PAL(AMPHAROS, gMonPalette_Ampharos), + SPECIES_PAL(BELLOSSOM, gMonPalette_Bellossom), + SPECIES_PAL(MARILL, gMonPalette_Marill), + SPECIES_PAL(AZUMARILL, gMonPalette_Azumarill), + SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo), + SPECIES_PAL(POLITOED, gMonPalette_Politoed), + SPECIES_PAL(HOPPIP, gMonPalette_Hoppip), + SPECIES_PAL(SKIPLOOM, gMonPalette_Skiploom), + SPECIES_PAL(JUMPLUFF, gMonPalette_Jumpluff), + SPECIES_PAL(AIPOM, gMonPalette_Aipom), + SPECIES_PAL(SUNKERN, gMonPalette_Sunkern), + SPECIES_PAL(SUNFLORA, gMonPalette_Sunflora), + SPECIES_PAL(YANMA, gMonPalette_Yanma), + SPECIES_PAL(WOOPER, gMonPalette_Wooper), + SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire), + SPECIES_PAL(ESPEON, gMonPalette_Espeon), + SPECIES_PAL(UMBREON, gMonPalette_Umbreon), + SPECIES_PAL(MURKROW, gMonPalette_Murkrow), + SPECIES_PAL(SLOWKING, gMonPalette_Slowking), + SPECIES_PAL(MISDREAVUS, gMonPalette_Misdreavus), + SPECIES_PAL(UNOWN, gMonPalette_Unown), + SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet), + SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig), + SPECIES_PAL(PINECO, gMonPalette_Pineco), + SPECIES_PAL(FORRETRESS, gMonPalette_Forretress), + SPECIES_PAL(DUNSPARCE, gMonPalette_Dunsparce), + SPECIES_PAL(GLIGAR, gMonPalette_Gligar), + SPECIES_PAL(STEELIX, gMonPalette_Steelix), + SPECIES_PAL(SNUBBULL, gMonPalette_Snubbull), + SPECIES_PAL(GRANBULL, gMonPalette_Granbull), + SPECIES_PAL(QWILFISH, gMonPalette_Qwilfish), + SPECIES_PAL(SCIZOR, gMonPalette_Scizor), + SPECIES_PAL(SHUCKLE, gMonPalette_Shuckle), + SPECIES_PAL(HERACROSS, gMonPalette_Heracross), + SPECIES_PAL(SNEASEL, gMonPalette_Sneasel), + SPECIES_PAL(TEDDIURSA, gMonPalette_Teddiursa), + SPECIES_PAL(URSARING, gMonPalette_Ursaring), + SPECIES_PAL(SLUGMA, gMonPalette_Slugma), + SPECIES_PAL(MAGCARGO, gMonPalette_Magcargo), + SPECIES_PAL(SWINUB, gMonPalette_Swinub), + SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine), + SPECIES_PAL(CORSOLA, gMonPalette_Corsola), + SPECIES_PAL(REMORAID, gMonPalette_Remoraid), + SPECIES_PAL(OCTILLERY, gMonPalette_Octillery), + SPECIES_PAL(DELIBIRD, gMonPalette_Delibird), + SPECIES_PAL(MANTINE, gMonPalette_Mantine), + SPECIES_PAL(SKARMORY, gMonPalette_Skarmory), + SPECIES_PAL(HOUNDOUR, gMonPalette_Houndour), + SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom), + SPECIES_PAL(KINGDRA, gMonPalette_Kingdra), + SPECIES_PAL(PHANPY, gMonPalette_Phanpy), + SPECIES_PAL(DONPHAN, gMonPalette_Donphan), + SPECIES_PAL(PORYGON2, gMonPalette_Porygon2), + SPECIES_PAL(STANTLER, gMonPalette_Stantler), + SPECIES_PAL(SMEARGLE, gMonPalette_Smeargle), + SPECIES_PAL(TYROGUE, gMonPalette_Tyrogue), + SPECIES_PAL(HITMONTOP, gMonPalette_Hitmontop), + SPECIES_PAL(SMOOCHUM, gMonPalette_Smoochum), + SPECIES_PAL(ELEKID, gMonPalette_Elekid), + SPECIES_PAL(MAGBY, gMonPalette_Magby), + SPECIES_PAL(MILTANK, gMonPalette_Miltank), + SPECIES_PAL(BLISSEY, gMonPalette_Blissey), + SPECIES_PAL(RAIKOU, gMonPalette_Raikou), + SPECIES_PAL(ENTEI, gMonPalette_Entei), + SPECIES_PAL(SUICUNE, gMonPalette_Suicune), + SPECIES_PAL(LARVITAR, gMonPalette_Larvitar), + SPECIES_PAL(PUPITAR, gMonPalette_Pupitar), + SPECIES_PAL(TYRANITAR, gMonPalette_Tyranitar), + SPECIES_PAL(LUGIA, gMonPalette_Lugia), + SPECIES_PAL(HO_OH, gMonPalette_HoOh), + SPECIES_PAL(CELEBI, gMonPalette_Celebi), + SPECIES_PAL(OLD_UNOWN_B, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_C, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_D, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_E, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_F, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_G, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_H, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_I, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_J, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_K, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_L, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_M, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_N, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_O, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_P, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Q, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_R, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_S, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_T, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_U, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_V, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_W, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_X, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Y, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(OLD_UNOWN_Z, gMonPalette_DoubleQuestionMark), + SPECIES_PAL(TREECKO, gMonPalette_Treecko), + SPECIES_PAL(GROVYLE, gMonPalette_Grovyle), + SPECIES_PAL(SCEPTILE, gMonPalette_Sceptile), + SPECIES_PAL(TORCHIC, gMonPalette_Torchic), + SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken), + SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken), + SPECIES_PAL(MUDKIP, gMonPalette_Mudkip), + SPECIES_PAL(MARSHTOMP, gMonPalette_Marshtomp), + SPECIES_PAL(SWAMPERT, gMonPalette_Swampert), + SPECIES_PAL(POOCHYENA, gMonPalette_Poochyena), + SPECIES_PAL(MIGHTYENA, gMonPalette_Mightyena), + SPECIES_PAL(ZIGZAGOON, gMonPalette_Zigzagoon), + SPECIES_PAL(LINOONE, gMonPalette_Linoone), + SPECIES_PAL(WURMPLE, gMonPalette_Wurmple), + SPECIES_PAL(SILCOON, gMonPalette_Silcoon), + SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly), + SPECIES_PAL(CASCOON, gMonPalette_Cascoon), + SPECIES_PAL(DUSTOX, gMonPalette_Dustox), + SPECIES_PAL(LOTAD, gMonPalette_Lotad), + SPECIES_PAL(LOMBRE, gMonPalette_Lombre), + SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo), + SPECIES_PAL(SEEDOT, gMonPalette_Seedot), + SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf), + SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry), + SPECIES_PAL(NINCADA, gMonPalette_Nincada), + SPECIES_PAL(NINJASK, gMonPalette_Ninjask), + SPECIES_PAL(SHEDINJA, gMonPalette_Shedinja), + SPECIES_PAL(TAILLOW, gMonPalette_Taillow), + SPECIES_PAL(SWELLOW, gMonPalette_Swellow), + SPECIES_PAL(SHROOMISH, gMonPalette_Shroomish), + SPECIES_PAL(BRELOOM, gMonPalette_Breloom), + SPECIES_PAL(SPINDA, gMonPalette_Spinda), + SPECIES_PAL(WINGULL, gMonPalette_Wingull), + SPECIES_PAL(PELIPPER, gMonPalette_Pelipper), + SPECIES_PAL(SURSKIT, gMonPalette_Surskit), + SPECIES_PAL(MASQUERAIN, gMonPalette_Masquerain), + SPECIES_PAL(WAILMER, gMonPalette_Wailmer), + SPECIES_PAL(WAILORD, gMonPalette_Wailord), + SPECIES_PAL(SKITTY, gMonPalette_Skitty), + SPECIES_PAL(DELCATTY, gMonPalette_Delcatty), + SPECIES_PAL(KECLEON, gMonPalette_Kecleon), + SPECIES_PAL(BALTOY, gMonPalette_Baltoy), + SPECIES_PAL(CLAYDOL, gMonPalette_Claydol), + SPECIES_PAL(NOSEPASS, gMonPalette_Nosepass), + SPECIES_PAL(TORKOAL, gMonPalette_Torkoal), + SPECIES_PAL(SABLEYE, gMonPalette_Sableye), + SPECIES_PAL(BARBOACH, gMonPalette_Barboach), + SPECIES_PAL(WHISCASH, gMonPalette_Whiscash), + SPECIES_PAL(LUVDISC, gMonPalette_Luvdisc), + SPECIES_PAL(CORPHISH, gMonPalette_Corphish), + SPECIES_PAL(CRAWDAUNT, gMonPalette_Crawdaunt), + SPECIES_PAL(FEEBAS, gMonPalette_Feebas), + SPECIES_PAL(MILOTIC, gMonPalette_Milotic), + SPECIES_PAL(CARVANHA, gMonPalette_Carvanha), + SPECIES_PAL(SHARPEDO, gMonPalette_Sharpedo), + SPECIES_PAL(TRAPINCH, gMonPalette_Trapinch), + SPECIES_PAL(VIBRAVA, gMonPalette_Vibrava), + SPECIES_PAL(FLYGON, gMonPalette_Flygon), + SPECIES_PAL(MAKUHITA, gMonPalette_Makuhita), + SPECIES_PAL(HARIYAMA, gMonPalette_Hariyama), + SPECIES_PAL(ELECTRIKE, gMonPalette_Electrike), + SPECIES_PAL(MANECTRIC, gMonPalette_Manectric), + SPECIES_PAL(NUMEL, gMonPalette_Numel), + SPECIES_PAL(CAMERUPT, gMonPalette_Camerupt), + SPECIES_PAL(SPHEAL, gMonPalette_Spheal), + SPECIES_PAL(SEALEO, gMonPalette_Sealeo), + SPECIES_PAL(WALREIN, gMonPalette_Walrein), + SPECIES_PAL(CACNEA, gMonPalette_Cacnea), + SPECIES_PAL(CACTURNE, gMonPalette_Cacturne), + SPECIES_PAL(SNORUNT, gMonPalette_Snorunt), + SPECIES_PAL(GLALIE, gMonPalette_Glalie), + SPECIES_PAL(LUNATONE, gMonPalette_Lunatone), + SPECIES_PAL(SOLROCK, gMonPalette_Solrock), + SPECIES_PAL(AZURILL, gMonPalette_Azurill), + SPECIES_PAL(SPOINK, gMonPalette_Spoink), + SPECIES_PAL(GRUMPIG, gMonPalette_Grumpig), + SPECIES_PAL(PLUSLE, gMonPalette_Plusle), + SPECIES_PAL(MINUN, gMonPalette_Minun), + SPECIES_PAL(MAWILE, gMonPalette_Mawile), + SPECIES_PAL(MEDITITE, gMonPalette_Meditite), + SPECIES_PAL(MEDICHAM, gMonPalette_Medicham), + SPECIES_PAL(SWABLU, gMonPalette_Swablu), + SPECIES_PAL(ALTARIA, gMonPalette_Altaria), + SPECIES_PAL(WYNAUT, gMonPalette_Wynaut), + SPECIES_PAL(DUSKULL, gMonPalette_Duskull), + SPECIES_PAL(DUSCLOPS, gMonPalette_Dusclops), + SPECIES_PAL(ROSELIA, gMonPalette_Roselia), + SPECIES_PAL(SLAKOTH, gMonPalette_Slakoth), + SPECIES_PAL(VIGOROTH, gMonPalette_Vigoroth), + SPECIES_PAL(SLAKING, gMonPalette_Slaking), + SPECIES_PAL(GULPIN, gMonPalette_Gulpin), + SPECIES_PAL(SWALOT, gMonPalette_Swalot), + SPECIES_PAL(TROPIUS, gMonPalette_Tropius), + SPECIES_PAL(WHISMUR, gMonPalette_Whismur), + SPECIES_PAL(LOUDRED, gMonPalette_Loudred), + SPECIES_PAL(EXPLOUD, gMonPalette_Exploud), + SPECIES_PAL(CLAMPERL, gMonPalette_Clamperl), + SPECIES_PAL(HUNTAIL, gMonPalette_Huntail), + SPECIES_PAL(GOREBYSS, gMonPalette_Gorebyss), + SPECIES_PAL(ABSOL, gMonPalette_Absol), + SPECIES_PAL(SHUPPET, gMonPalette_Shuppet), + SPECIES_PAL(BANETTE, gMonPalette_Banette), + SPECIES_PAL(SEVIPER, gMonPalette_Seviper), + SPECIES_PAL(ZANGOOSE, gMonPalette_Zangoose), + SPECIES_PAL(RELICANTH, gMonPalette_Relicanth), + SPECIES_PAL(ARON, gMonPalette_Aron), + SPECIES_PAL(LAIRON, gMonPalette_Lairon), + SPECIES_PAL(AGGRON, gMonPalette_Aggron), + SPECIES_PAL(CASTFORM, gMonPalette_Castform), + SPECIES_PAL(VOLBEAT, gMonPalette_Volbeat), + SPECIES_PAL(ILLUMISE, gMonPalette_Illumise), + SPECIES_PAL(LILEEP, gMonPalette_Lileep), + SPECIES_PAL(CRADILY, gMonPalette_Cradily), + SPECIES_PAL(ANORITH, gMonPalette_Anorith), + SPECIES_PAL(ARMALDO, gMonPalette_Armaldo), + SPECIES_PAL(RALTS, gMonPalette_Ralts), + SPECIES_PAL(KIRLIA, gMonPalette_Kirlia), + SPECIES_PAL(GARDEVOIR, gMonPalette_Gardevoir), + SPECIES_PAL(BAGON, gMonPalette_Bagon), + SPECIES_PAL(SHELGON, gMonPalette_Shelgon), + SPECIES_PAL(SALAMENCE, gMonPalette_Salamence), + SPECIES_PAL(BELDUM, gMonPalette_Beldum), + SPECIES_PAL(METANG, gMonPalette_Metang), + SPECIES_PAL(METAGROSS, gMonPalette_Metagross), + SPECIES_PAL(REGIROCK, gMonPalette_Regirock), + SPECIES_PAL(REGICE, gMonPalette_Regice), + SPECIES_PAL(REGISTEEL, gMonPalette_Registeel), + SPECIES_PAL(KYOGRE, gMonPalette_Kyogre), + SPECIES_PAL(GROUDON, gMonPalette_Groudon), + SPECIES_PAL(RAYQUAZA, gMonPalette_Rayquaza), + SPECIES_PAL(LATIAS, gMonPalette_Latias), + SPECIES_PAL(LATIOS, gMonPalette_Latios), + SPECIES_PAL(JIRACHI, gMonPalette_Jirachi), + SPECIES_PAL(DEOXYS, gMonPalette_Deoxys), + SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho), + SPECIES_PAL(EGG, gMonPalette_Egg), + SPECIES_PAL(UNOWN_B, gMonPalette_Unown), + SPECIES_PAL(UNOWN_C, gMonPalette_Unown), + SPECIES_PAL(UNOWN_D, gMonPalette_Unown), + SPECIES_PAL(UNOWN_E, gMonPalette_Unown), + SPECIES_PAL(UNOWN_F, gMonPalette_Unown), + SPECIES_PAL(UNOWN_G, gMonPalette_Unown), + SPECIES_PAL(UNOWN_H, gMonPalette_Unown), + SPECIES_PAL(UNOWN_I, gMonPalette_Unown), + SPECIES_PAL(UNOWN_J, gMonPalette_Unown), + SPECIES_PAL(UNOWN_K, gMonPalette_Unown), + SPECIES_PAL(UNOWN_L, gMonPalette_Unown), + SPECIES_PAL(UNOWN_M, gMonPalette_Unown), + SPECIES_PAL(UNOWN_N, gMonPalette_Unown), + SPECIES_PAL(UNOWN_O, gMonPalette_Unown), + SPECIES_PAL(UNOWN_P, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Q, gMonPalette_Unown), + SPECIES_PAL(UNOWN_R, gMonPalette_Unown), + SPECIES_PAL(UNOWN_S, gMonPalette_Unown), + SPECIES_PAL(UNOWN_T, gMonPalette_Unown), + SPECIES_PAL(UNOWN_U, gMonPalette_Unown), + SPECIES_PAL(UNOWN_V, gMonPalette_Unown), + SPECIES_PAL(UNOWN_W, gMonPalette_Unown), + SPECIES_PAL(UNOWN_X, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Y, gMonPalette_Unown), + SPECIES_PAL(UNOWN_Z, gMonPalette_Unown), + SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown), + SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown), }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index 0c3f990cf..8b1cfcaac 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1,443 +1,443 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = { - [SPECIES_NONE] = {gMonShinyPalette_CircledQuestionMark, SPECIES_NONE + 500}, - [SPECIES_BULBASAUR] = {gMonShinyPalette_Bulbasaur, SPECIES_BULBASAUR + 500}, - [SPECIES_IVYSAUR] = {gMonShinyPalette_Ivysaur, SPECIES_IVYSAUR + 500}, - [SPECIES_VENUSAUR] = {gMonShinyPalette_Venusaur, SPECIES_VENUSAUR + 500}, - [SPECIES_CHARMANDER] = {gMonShinyPalette_Charmander, SPECIES_CHARMANDER + 500}, - [SPECIES_CHARMELEON] = {gMonShinyPalette_Charmeleon, SPECIES_CHARMELEON + 500}, - [SPECIES_CHARIZARD] = {gMonShinyPalette_Charizard, SPECIES_CHARIZARD + 500}, - [SPECIES_SQUIRTLE] = {gMonShinyPalette_Squirtle, SPECIES_SQUIRTLE + 500}, - [SPECIES_WARTORTLE] = {gMonShinyPalette_Wartortle, SPECIES_WARTORTLE + 500}, - [SPECIES_BLASTOISE] = {gMonShinyPalette_Blastoise, SPECIES_BLASTOISE + 500}, - [SPECIES_CATERPIE] = {gMonShinyPalette_Caterpie, SPECIES_CATERPIE + 500}, - [SPECIES_METAPOD] = {gMonShinyPalette_Metapod, SPECIES_METAPOD + 500}, - [SPECIES_BUTTERFREE] = {gMonShinyPalette_Butterfree, SPECIES_BUTTERFREE + 500}, - [SPECIES_WEEDLE] = {gMonShinyPalette_Weedle, SPECIES_WEEDLE + 500}, - [SPECIES_KAKUNA] = {gMonShinyPalette_Kakuna, SPECIES_KAKUNA + 500}, - [SPECIES_BEEDRILL] = {gMonShinyPalette_Beedrill, SPECIES_BEEDRILL + 500}, - [SPECIES_PIDGEY] = {gMonShinyPalette_Pidgey, SPECIES_PIDGEY + 500}, - [SPECIES_PIDGEOTTO] = {gMonShinyPalette_Pidgeotto, SPECIES_PIDGEOTTO + 500}, - [SPECIES_PIDGEOT] = {gMonShinyPalette_Pidgeot, SPECIES_PIDGEOT + 500}, - [SPECIES_RATTATA] = {gMonShinyPalette_Rattata, SPECIES_RATTATA + 500}, - [SPECIES_RATICATE] = {gMonShinyPalette_Raticate, SPECIES_RATICATE + 500}, - [SPECIES_SPEAROW] = {gMonShinyPalette_Spearow, SPECIES_SPEAROW + 500}, - [SPECIES_FEAROW] = {gMonShinyPalette_Fearow, SPECIES_FEAROW + 500}, - [SPECIES_EKANS] = {gMonShinyPalette_Ekans, SPECIES_EKANS + 500}, - [SPECIES_ARBOK] = {gMonShinyPalette_Arbok, SPECIES_ARBOK + 500}, - [SPECIES_PIKACHU] = {gMonShinyPalette_Pikachu, SPECIES_PIKACHU + 500}, - [SPECIES_RAICHU] = {gMonShinyPalette_Raichu, SPECIES_RAICHU + 500}, - [SPECIES_SANDSHREW] = {gMonShinyPalette_Sandshrew, SPECIES_SANDSHREW + 500}, - [SPECIES_SANDSLASH] = {gMonShinyPalette_Sandslash, SPECIES_SANDSLASH + 500}, - [SPECIES_NIDORAN_F] = {gMonShinyPalette_NidoranF, SPECIES_NIDORAN_F + 500}, - [SPECIES_NIDORINA] = {gMonShinyPalette_Nidorina, SPECIES_NIDORINA + 500}, - [SPECIES_NIDOQUEEN] = {gMonShinyPalette_Nidoqueen, SPECIES_NIDOQUEEN + 500}, - [SPECIES_NIDORAN_M] = {gMonShinyPalette_NidoranM, SPECIES_NIDORAN_M + 500}, - [SPECIES_NIDORINO] = {gMonShinyPalette_Nidorino, SPECIES_NIDORINO + 500}, - [SPECIES_NIDOKING] = {gMonShinyPalette_Nidoking, SPECIES_NIDOKING + 500}, - [SPECIES_CLEFAIRY] = {gMonShinyPalette_Clefairy, SPECIES_CLEFAIRY + 500}, - [SPECIES_CLEFABLE] = {gMonShinyPalette_Clefable, SPECIES_CLEFABLE + 500}, - [SPECIES_VULPIX] = {gMonShinyPalette_Vulpix, SPECIES_VULPIX + 500}, - [SPECIES_NINETALES] = {gMonShinyPalette_Ninetales, SPECIES_NINETALES + 500}, - [SPECIES_JIGGLYPUFF] = {gMonShinyPalette_Jigglypuff, SPECIES_JIGGLYPUFF + 500}, - [SPECIES_WIGGLYTUFF] = {gMonShinyPalette_Wigglytuff, SPECIES_WIGGLYTUFF + 500}, - [SPECIES_ZUBAT] = {gMonShinyPalette_Zubat, SPECIES_ZUBAT + 500}, - [SPECIES_GOLBAT] = {gMonShinyPalette_Golbat, SPECIES_GOLBAT + 500}, - [SPECIES_ODDISH] = {gMonShinyPalette_Oddish, SPECIES_ODDISH + 500}, - [SPECIES_GLOOM] = {gMonShinyPalette_Gloom, SPECIES_GLOOM + 500}, - [SPECIES_VILEPLUME] = {gMonShinyPalette_Vileplume, SPECIES_VILEPLUME + 500}, - [SPECIES_PARAS] = {gMonShinyPalette_Paras, SPECIES_PARAS + 500}, - [SPECIES_PARASECT] = {gMonShinyPalette_Parasect, SPECIES_PARASECT + 500}, - [SPECIES_VENONAT] = {gMonShinyPalette_Venonat, SPECIES_VENONAT + 500}, - [SPECIES_VENOMOTH] = {gMonShinyPalette_Venomoth, SPECIES_VENOMOTH + 500}, - [SPECIES_DIGLETT] = {gMonShinyPalette_Diglett, SPECIES_DIGLETT + 500}, - [SPECIES_DUGTRIO] = {gMonShinyPalette_Dugtrio, SPECIES_DUGTRIO + 500}, - [SPECIES_MEOWTH] = {gMonShinyPalette_Meowth, SPECIES_MEOWTH + 500}, - [SPECIES_PERSIAN] = {gMonShinyPalette_Persian, SPECIES_PERSIAN + 500}, - [SPECIES_PSYDUCK] = {gMonShinyPalette_Psyduck, SPECIES_PSYDUCK + 500}, - [SPECIES_GOLDUCK] = {gMonShinyPalette_Golduck, SPECIES_GOLDUCK + 500}, - [SPECIES_MANKEY] = {gMonShinyPalette_Mankey, SPECIES_MANKEY + 500}, - [SPECIES_PRIMEAPE] = {gMonShinyPalette_Primeape, SPECIES_PRIMEAPE + 500}, - [SPECIES_GROWLITHE] = {gMonShinyPalette_Growlithe, SPECIES_GROWLITHE + 500}, - [SPECIES_ARCANINE] = {gMonShinyPalette_Arcanine, SPECIES_ARCANINE + 500}, - [SPECIES_POLIWAG] = {gMonShinyPalette_Poliwag, SPECIES_POLIWAG + 500}, - [SPECIES_POLIWHIRL] = {gMonShinyPalette_Poliwhirl, SPECIES_POLIWHIRL + 500}, - [SPECIES_POLIWRATH] = {gMonShinyPalette_Poliwrath, SPECIES_POLIWRATH + 500}, - [SPECIES_ABRA] = {gMonShinyPalette_Abra, SPECIES_ABRA + 500}, - [SPECIES_KADABRA] = {gMonShinyPalette_Kadabra, SPECIES_KADABRA + 500}, - [SPECIES_ALAKAZAM] = {gMonShinyPalette_Alakazam, SPECIES_ALAKAZAM + 500}, - [SPECIES_MACHOP] = {gMonShinyPalette_Machop, SPECIES_MACHOP + 500}, - [SPECIES_MACHOKE] = {gMonShinyPalette_Machoke, SPECIES_MACHOKE + 500}, - [SPECIES_MACHAMP] = {gMonShinyPalette_Machamp, SPECIES_MACHAMP + 500}, - [SPECIES_BELLSPROUT] = {gMonShinyPalette_Bellsprout, SPECIES_BELLSPROUT + 500}, - [SPECIES_WEEPINBELL] = {gMonShinyPalette_Weepinbell, SPECIES_WEEPINBELL + 500}, - [SPECIES_VICTREEBEL] = {gMonShinyPalette_Victreebel, SPECIES_VICTREEBEL + 500}, - [SPECIES_TENTACOOL] = {gMonShinyPalette_Tentacool, SPECIES_TENTACOOL + 500}, - [SPECIES_TENTACRUEL] = {gMonShinyPalette_Tentacruel, SPECIES_TENTACRUEL + 500}, - [SPECIES_GEODUDE] = {gMonShinyPalette_Geodude, SPECIES_GEODUDE + 500}, - [SPECIES_GRAVELER] = {gMonShinyPalette_Graveler, SPECIES_GRAVELER + 500}, - [SPECIES_GOLEM] = {gMonShinyPalette_Golem, SPECIES_GOLEM + 500}, - [SPECIES_PONYTA] = {gMonShinyPalette_Ponyta, SPECIES_PONYTA + 500}, - [SPECIES_RAPIDASH] = {gMonShinyPalette_Rapidash, SPECIES_RAPIDASH + 500}, - [SPECIES_SLOWPOKE] = {gMonShinyPalette_Slowpoke, SPECIES_SLOWPOKE + 500}, - [SPECIES_SLOWBRO] = {gMonShinyPalette_Slowbro, SPECIES_SLOWBRO + 500}, - [SPECIES_MAGNEMITE] = {gMonShinyPalette_Magnemite, SPECIES_MAGNEMITE + 500}, - [SPECIES_MAGNETON] = {gMonShinyPalette_Magneton, SPECIES_MAGNETON + 500}, - [SPECIES_FARFETCHD] = {gMonShinyPalette_Farfetchd, SPECIES_FARFETCHD + 500}, - [SPECIES_DODUO] = {gMonShinyPalette_Doduo, SPECIES_DODUO + 500}, - [SPECIES_DODRIO] = {gMonShinyPalette_Dodrio, SPECIES_DODRIO + 500}, - [SPECIES_SEEL] = {gMonShinyPalette_Seel, SPECIES_SEEL + 500}, - [SPECIES_DEWGONG] = {gMonShinyPalette_Dewgong, SPECIES_DEWGONG + 500}, - [SPECIES_GRIMER] = {gMonShinyPalette_Grimer, SPECIES_GRIMER + 500}, - [SPECIES_MUK] = {gMonShinyPalette_Muk, SPECIES_MUK + 500}, - [SPECIES_SHELLDER] = {gMonShinyPalette_Shellder, SPECIES_SHELLDER + 500}, - [SPECIES_CLOYSTER] = {gMonShinyPalette_Cloyster, SPECIES_CLOYSTER + 500}, - [SPECIES_GASTLY] = {gMonShinyPalette_Gastly, SPECIES_GASTLY + 500}, - [SPECIES_HAUNTER] = {gMonShinyPalette_Haunter, SPECIES_HAUNTER + 500}, - [SPECIES_GENGAR] = {gMonShinyPalette_Gengar, SPECIES_GENGAR + 500}, - [SPECIES_ONIX] = {gMonShinyPalette_Onix, SPECIES_ONIX + 500}, - [SPECIES_DROWZEE] = {gMonShinyPalette_Drowzee, SPECIES_DROWZEE + 500}, - [SPECIES_HYPNO] = {gMonShinyPalette_Hypno, SPECIES_HYPNO + 500}, - [SPECIES_KRABBY] = {gMonShinyPalette_Krabby, SPECIES_KRABBY + 500}, - [SPECIES_KINGLER] = {gMonShinyPalette_Kingler, SPECIES_KINGLER + 500}, - [SPECIES_VOLTORB] = {gMonShinyPalette_Voltorb, SPECIES_VOLTORB + 500}, - [SPECIES_ELECTRODE] = {gMonShinyPalette_Electrode, SPECIES_ELECTRODE + 500}, - [SPECIES_EXEGGCUTE] = {gMonShinyPalette_Exeggcute, SPECIES_EXEGGCUTE + 500}, - [SPECIES_EXEGGUTOR] = {gMonShinyPalette_Exeggutor, SPECIES_EXEGGUTOR + 500}, - [SPECIES_CUBONE] = {gMonShinyPalette_Cubone, SPECIES_CUBONE + 500}, - [SPECIES_MAROWAK] = {gMonShinyPalette_Marowak, SPECIES_MAROWAK + 500}, - [SPECIES_HITMONLEE] = {gMonShinyPalette_Hitmonlee, SPECIES_HITMONLEE + 500}, - [SPECIES_HITMONCHAN] = {gMonShinyPalette_Hitmonchan, SPECIES_HITMONCHAN + 500}, - [SPECIES_LICKITUNG] = {gMonShinyPalette_Lickitung, SPECIES_LICKITUNG + 500}, - [SPECIES_KOFFING] = {gMonShinyPalette_Koffing, SPECIES_KOFFING + 500}, - [SPECIES_WEEZING] = {gMonShinyPalette_Weezing, SPECIES_WEEZING + 500}, - [SPECIES_RHYHORN] = {gMonShinyPalette_Rhyhorn, SPECIES_RHYHORN + 500}, - [SPECIES_RHYDON] = {gMonShinyPalette_Rhydon, SPECIES_RHYDON + 500}, - [SPECIES_CHANSEY] = {gMonShinyPalette_Chansey, SPECIES_CHANSEY + 500}, - [SPECIES_TANGELA] = {gMonShinyPalette_Tangela, SPECIES_TANGELA + 500}, - [SPECIES_KANGASKHAN] = {gMonShinyPalette_Kangaskhan, SPECIES_KANGASKHAN + 500}, - [SPECIES_HORSEA] = {gMonShinyPalette_Horsea, SPECIES_HORSEA + 500}, - [SPECIES_SEADRA] = {gMonShinyPalette_Seadra, SPECIES_SEADRA + 500}, - [SPECIES_GOLDEEN] = {gMonShinyPalette_Goldeen, SPECIES_GOLDEEN + 500}, - [SPECIES_SEAKING] = {gMonShinyPalette_Seaking, SPECIES_SEAKING + 500}, - [SPECIES_STARYU] = {gMonShinyPalette_Staryu, SPECIES_STARYU + 500}, - [SPECIES_STARMIE] = {gMonShinyPalette_Starmie, SPECIES_STARMIE + 500}, - [SPECIES_MR_MIME] = {gMonShinyPalette_Mrmime, SPECIES_MR_MIME + 500}, - [SPECIES_SCYTHER] = {gMonShinyPalette_Scyther, SPECIES_SCYTHER + 500}, - [SPECIES_JYNX] = {gMonShinyPalette_Jynx, SPECIES_JYNX + 500}, - [SPECIES_ELECTABUZZ] = {gMonShinyPalette_Electabuzz, SPECIES_ELECTABUZZ + 500}, - [SPECIES_MAGMAR] = {gMonShinyPalette_Magmar, SPECIES_MAGMAR + 500}, - [SPECIES_PINSIR] = {gMonShinyPalette_Pinsir, SPECIES_PINSIR + 500}, - [SPECIES_TAUROS] = {gMonShinyPalette_Tauros, SPECIES_TAUROS + 500}, - [SPECIES_MAGIKARP] = {gMonShinyPalette_Magikarp, SPECIES_MAGIKARP + 500}, - [SPECIES_GYARADOS] = {gMonShinyPalette_Gyarados, SPECIES_GYARADOS + 500}, - [SPECIES_LAPRAS] = {gMonShinyPalette_Lapras, SPECIES_LAPRAS + 500}, - [SPECIES_DITTO] = {gMonShinyPalette_Ditto, SPECIES_DITTO + 500}, - [SPECIES_EEVEE] = {gMonShinyPalette_Eevee, SPECIES_EEVEE + 500}, - [SPECIES_VAPOREON] = {gMonShinyPalette_Vaporeon, SPECIES_VAPOREON + 500}, - [SPECIES_JOLTEON] = {gMonShinyPalette_Jolteon, SPECIES_JOLTEON + 500}, - [SPECIES_FLAREON] = {gMonShinyPalette_Flareon, SPECIES_FLAREON + 500}, - [SPECIES_PORYGON] = {gMonShinyPalette_Porygon, SPECIES_PORYGON + 500}, - [SPECIES_OMANYTE] = {gMonShinyPalette_Omanyte, SPECIES_OMANYTE + 500}, - [SPECIES_OMASTAR] = {gMonShinyPalette_Omastar, SPECIES_OMASTAR + 500}, - [SPECIES_KABUTO] = {gMonShinyPalette_Kabuto, SPECIES_KABUTO + 500}, - [SPECIES_KABUTOPS] = {gMonShinyPalette_Kabutops, SPECIES_KABUTOPS + 500}, - [SPECIES_AERODACTYL] = {gMonShinyPalette_Aerodactyl, SPECIES_AERODACTYL + 500}, - [SPECIES_SNORLAX] = {gMonShinyPalette_Snorlax, SPECIES_SNORLAX + 500}, - [SPECIES_ARTICUNO] = {gMonShinyPalette_Articuno, SPECIES_ARTICUNO + 500}, - [SPECIES_ZAPDOS] = {gMonShinyPalette_Zapdos, SPECIES_ZAPDOS + 500}, - [SPECIES_MOLTRES] = {gMonShinyPalette_Moltres, SPECIES_MOLTRES + 500}, - [SPECIES_DRATINI] = {gMonShinyPalette_Dratini, SPECIES_DRATINI + 500}, - [SPECIES_DRAGONAIR] = {gMonShinyPalette_Dragonair, SPECIES_DRAGONAIR + 500}, - [SPECIES_DRAGONITE] = {gMonShinyPalette_Dragonite, SPECIES_DRAGONITE + 500}, - [SPECIES_MEWTWO] = {gMonShinyPalette_Mewtwo, SPECIES_MEWTWO + 500}, - [SPECIES_MEW] = {gMonShinyPalette_Mew, SPECIES_MEW + 500}, - [SPECIES_CHIKORITA] = {gMonShinyPalette_Chikorita, SPECIES_CHIKORITA + 500}, - [SPECIES_BAYLEEF] = {gMonShinyPalette_Bayleef, SPECIES_BAYLEEF + 500}, - [SPECIES_MEGANIUM] = {gMonShinyPalette_Meganium, SPECIES_MEGANIUM + 500}, - [SPECIES_CYNDAQUIL] = {gMonShinyPalette_Cyndaquil, SPECIES_CYNDAQUIL + 500}, - [SPECIES_QUILAVA] = {gMonShinyPalette_Quilava, SPECIES_QUILAVA + 500}, - [SPECIES_TYPHLOSION] = {gMonShinyPalette_Typhlosion, SPECIES_TYPHLOSION + 500}, - [SPECIES_TOTODILE] = {gMonShinyPalette_Totodile, SPECIES_TOTODILE + 500}, - [SPECIES_CROCONAW] = {gMonShinyPalette_Croconaw, SPECIES_CROCONAW + 500}, - [SPECIES_FERALIGATR] = {gMonShinyPalette_Feraligatr, SPECIES_FERALIGATR + 500}, - [SPECIES_SENTRET] = {gMonShinyPalette_Sentret, SPECIES_SENTRET + 500}, - [SPECIES_FURRET] = {gMonShinyPalette_Furret, SPECIES_FURRET + 500}, - [SPECIES_HOOTHOOT] = {gMonShinyPalette_Hoothoot, SPECIES_HOOTHOOT + 500}, - [SPECIES_NOCTOWL] = {gMonShinyPalette_Noctowl, SPECIES_NOCTOWL + 500}, - [SPECIES_LEDYBA] = {gMonShinyPalette_Ledyba, SPECIES_LEDYBA + 500}, - [SPECIES_LEDIAN] = {gMonShinyPalette_Ledian, SPECIES_LEDIAN + 500}, - [SPECIES_SPINARAK] = {gMonShinyPalette_Spinarak, SPECIES_SPINARAK + 500}, - [SPECIES_ARIADOS] = {gMonShinyPalette_Ariados, SPECIES_ARIADOS + 500}, - [SPECIES_CROBAT] = {gMonShinyPalette_Crobat, SPECIES_CROBAT + 500}, - [SPECIES_CHINCHOU] = {gMonShinyPalette_Chinchou, SPECIES_CHINCHOU + 500}, - [SPECIES_LANTURN] = {gMonShinyPalette_Lanturn, SPECIES_LANTURN + 500}, - [SPECIES_PICHU] = {gMonShinyPalette_Pichu, SPECIES_PICHU + 500}, - [SPECIES_CLEFFA] = {gMonShinyPalette_Cleffa, SPECIES_CLEFFA + 500}, - [SPECIES_IGGLYBUFF] = {gMonShinyPalette_Igglybuff, SPECIES_IGGLYBUFF + 500}, - [SPECIES_TOGEPI] = {gMonShinyPalette_Togepi, SPECIES_TOGEPI + 500}, - [SPECIES_TOGETIC] = {gMonShinyPalette_Togetic, SPECIES_TOGETIC + 500}, - [SPECIES_NATU] = {gMonShinyPalette_Natu, SPECIES_NATU + 500}, - [SPECIES_XATU] = {gMonShinyPalette_Xatu, SPECIES_XATU + 500}, - [SPECIES_MAREEP] = {gMonShinyPalette_Mareep, SPECIES_MAREEP + 500}, - [SPECIES_FLAAFFY] = {gMonShinyPalette_Flaaffy, SPECIES_FLAAFFY + 500}, - [SPECIES_AMPHAROS] = {gMonShinyPalette_Ampharos, SPECIES_AMPHAROS + 500}, - [SPECIES_BELLOSSOM] = {gMonShinyPalette_Bellossom, SPECIES_BELLOSSOM + 500}, - [SPECIES_MARILL] = {gMonShinyPalette_Marill, SPECIES_MARILL + 500}, - [SPECIES_AZUMARILL] = {gMonShinyPalette_Azumarill, SPECIES_AZUMARILL + 500}, - [SPECIES_SUDOWOODO] = {gMonShinyPalette_Sudowoodo, SPECIES_SUDOWOODO + 500}, - [SPECIES_POLITOED] = {gMonShinyPalette_Politoed, SPECIES_POLITOED + 500}, - [SPECIES_HOPPIP] = {gMonShinyPalette_Hoppip, SPECIES_HOPPIP + 500}, - [SPECIES_SKIPLOOM] = {gMonShinyPalette_Skiploom, SPECIES_SKIPLOOM + 500}, - [SPECIES_JUMPLUFF] = {gMonShinyPalette_Jumpluff, SPECIES_JUMPLUFF + 500}, - [SPECIES_AIPOM] = {gMonShinyPalette_Aipom, SPECIES_AIPOM + 500}, - [SPECIES_SUNKERN] = {gMonShinyPalette_Sunkern, SPECIES_SUNKERN + 500}, - [SPECIES_SUNFLORA] = {gMonShinyPalette_Sunflora, SPECIES_SUNFLORA + 500}, - [SPECIES_YANMA] = {gMonShinyPalette_Yanma, SPECIES_YANMA + 500}, - [SPECIES_WOOPER] = {gMonShinyPalette_Wooper, SPECIES_WOOPER + 500}, - [SPECIES_QUAGSIRE] = {gMonShinyPalette_Quagsire, SPECIES_QUAGSIRE + 500}, - [SPECIES_ESPEON] = {gMonShinyPalette_Espeon, SPECIES_ESPEON + 500}, - [SPECIES_UMBREON] = {gMonShinyPalette_Umbreon, SPECIES_UMBREON + 500}, - [SPECIES_MURKROW] = {gMonShinyPalette_Murkrow, SPECIES_MURKROW + 500}, - [SPECIES_SLOWKING] = {gMonShinyPalette_Slowking, SPECIES_SLOWKING + 500}, - [SPECIES_MISDREAVUS] = {gMonShinyPalette_Misdreavus, SPECIES_MISDREAVUS + 500}, - [SPECIES_UNOWN] = {gMonShinyPalette_Unown, SPECIES_UNOWN + 500}, - [SPECIES_WOBBUFFET] = {gMonShinyPalette_Wobbuffet, SPECIES_WOBBUFFET + 500}, - [SPECIES_GIRAFARIG] = {gMonShinyPalette_Girafarig, SPECIES_GIRAFARIG + 500}, - [SPECIES_PINECO] = {gMonShinyPalette_Pineco, SPECIES_PINECO + 500}, - [SPECIES_FORRETRESS] = {gMonShinyPalette_Forretress, SPECIES_FORRETRESS + 500}, - [SPECIES_DUNSPARCE] = {gMonShinyPalette_Dunsparce, SPECIES_DUNSPARCE + 500}, - [SPECIES_GLIGAR] = {gMonShinyPalette_Gligar, SPECIES_GLIGAR + 500}, - [SPECIES_STEELIX] = {gMonShinyPalette_Steelix, SPECIES_STEELIX + 500}, - [SPECIES_SNUBBULL] = {gMonShinyPalette_Snubbull, SPECIES_SNUBBULL + 500}, - [SPECIES_GRANBULL] = {gMonShinyPalette_Granbull, SPECIES_GRANBULL + 500}, - [SPECIES_QWILFISH] = {gMonShinyPalette_Qwilfish, SPECIES_QWILFISH + 500}, - [SPECIES_SCIZOR] = {gMonShinyPalette_Scizor, SPECIES_SCIZOR + 500}, - [SPECIES_SHUCKLE] = {gMonShinyPalette_Shuckle, SPECIES_SHUCKLE + 500}, - [SPECIES_HERACROSS] = {gMonShinyPalette_Heracross, SPECIES_HERACROSS + 500}, - [SPECIES_SNEASEL] = {gMonShinyPalette_Sneasel, SPECIES_SNEASEL + 500}, - [SPECIES_TEDDIURSA] = {gMonShinyPalette_Teddiursa, SPECIES_TEDDIURSA + 500}, - [SPECIES_URSARING] = {gMonShinyPalette_Ursaring, SPECIES_URSARING + 500}, - [SPECIES_SLUGMA] = {gMonShinyPalette_Slugma, SPECIES_SLUGMA + 500}, - [SPECIES_MAGCARGO] = {gMonShinyPalette_Magcargo, SPECIES_MAGCARGO + 500}, - [SPECIES_SWINUB] = {gMonShinyPalette_Swinub, SPECIES_SWINUB + 500}, - [SPECIES_PILOSWINE] = {gMonShinyPalette_Piloswine, SPECIES_PILOSWINE + 500}, - [SPECIES_CORSOLA] = {gMonShinyPalette_Corsola, SPECIES_CORSOLA + 500}, - [SPECIES_REMORAID] = {gMonShinyPalette_Remoraid, SPECIES_REMORAID + 500}, - [SPECIES_OCTILLERY] = {gMonShinyPalette_Octillery, SPECIES_OCTILLERY + 500}, - [SPECIES_DELIBIRD] = {gMonShinyPalette_Delibird, SPECIES_DELIBIRD + 500}, - [SPECIES_MANTINE] = {gMonShinyPalette_Mantine, SPECIES_MANTINE + 500}, - [SPECIES_SKARMORY] = {gMonShinyPalette_Skarmory, SPECIES_SKARMORY + 500}, - [SPECIES_HOUNDOUR] = {gMonShinyPalette_Houndour, SPECIES_HOUNDOUR + 500}, - [SPECIES_HOUNDOOM] = {gMonShinyPalette_Houndoom, SPECIES_HOUNDOOM + 500}, - [SPECIES_KINGDRA] = {gMonShinyPalette_Kingdra, SPECIES_KINGDRA + 500}, - [SPECIES_PHANPY] = {gMonShinyPalette_Phanpy, SPECIES_PHANPY + 500}, - [SPECIES_DONPHAN] = {gMonShinyPalette_Donphan, SPECIES_DONPHAN + 500}, - [SPECIES_PORYGON2] = {gMonShinyPalette_Porygon2, SPECIES_PORYGON2 + 500}, - [SPECIES_STANTLER] = {gMonShinyPalette_Stantler, SPECIES_STANTLER + 500}, - [SPECIES_SMEARGLE] = {gMonShinyPalette_Smeargle, SPECIES_SMEARGLE + 500}, - [SPECIES_TYROGUE] = {gMonShinyPalette_Tyrogue, SPECIES_TYROGUE + 500}, - [SPECIES_HITMONTOP] = {gMonShinyPalette_Hitmontop, SPECIES_HITMONTOP + 500}, - [SPECIES_SMOOCHUM] = {gMonShinyPalette_Smoochum, SPECIES_SMOOCHUM + 500}, - [SPECIES_ELEKID] = {gMonShinyPalette_Elekid, SPECIES_ELEKID + 500}, - [SPECIES_MAGBY] = {gMonShinyPalette_Magby, SPECIES_MAGBY + 500}, - [SPECIES_MILTANK] = {gMonShinyPalette_Miltank, SPECIES_MILTANK + 500}, - [SPECIES_BLISSEY] = {gMonShinyPalette_Blissey, SPECIES_BLISSEY + 500}, - [SPECIES_RAIKOU] = {gMonShinyPalette_Raikou, SPECIES_RAIKOU + 500}, - [SPECIES_ENTEI] = {gMonShinyPalette_Entei, SPECIES_ENTEI + 500}, - [SPECIES_SUICUNE] = {gMonShinyPalette_Suicune, SPECIES_SUICUNE + 500}, - [SPECIES_LARVITAR] = {gMonShinyPalette_Larvitar, SPECIES_LARVITAR + 500}, - [SPECIES_PUPITAR] = {gMonShinyPalette_Pupitar, SPECIES_PUPITAR + 500}, - [SPECIES_TYRANITAR] = {gMonShinyPalette_Tyranitar, SPECIES_TYRANITAR + 500}, - [SPECIES_LUGIA] = {gMonShinyPalette_Lugia, SPECIES_LUGIA + 500}, - [SPECIES_HO_OH] = {gMonShinyPalette_HoOh, SPECIES_HO_OH + 500}, - [SPECIES_CELEBI] = {gMonShinyPalette_Celebi, SPECIES_CELEBI + 500}, - [SPECIES_OLD_UNOWN_B] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B + 500}, - [SPECIES_OLD_UNOWN_C] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C + 500}, - [SPECIES_OLD_UNOWN_D] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D + 500}, - [SPECIES_OLD_UNOWN_E] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E + 500}, - [SPECIES_OLD_UNOWN_F] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F + 500}, - [SPECIES_OLD_UNOWN_G] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G + 500}, - [SPECIES_OLD_UNOWN_H] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H + 500}, - [SPECIES_OLD_UNOWN_I] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I + 500}, - [SPECIES_OLD_UNOWN_J] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J + 500}, - [SPECIES_OLD_UNOWN_K] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K + 500}, - [SPECIES_OLD_UNOWN_L] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L + 500}, - [SPECIES_OLD_UNOWN_M] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M + 500}, - [SPECIES_OLD_UNOWN_N] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N + 500}, - [SPECIES_OLD_UNOWN_O] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O + 500}, - [SPECIES_OLD_UNOWN_P] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P + 500}, - [SPECIES_OLD_UNOWN_Q] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q + 500}, - [SPECIES_OLD_UNOWN_R] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R + 500}, - [SPECIES_OLD_UNOWN_S] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S + 500}, - [SPECIES_OLD_UNOWN_T] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T + 500}, - [SPECIES_OLD_UNOWN_U] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U + 500}, - [SPECIES_OLD_UNOWN_V] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V + 500}, - [SPECIES_OLD_UNOWN_W] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W + 500}, - [SPECIES_OLD_UNOWN_X] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X + 500}, - [SPECIES_OLD_UNOWN_Y] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y + 500}, - [SPECIES_OLD_UNOWN_Z] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z + 500}, - [SPECIES_TREECKO] = {gMonShinyPalette_Treecko, SPECIES_TREECKO + 500}, - [SPECIES_GROVYLE] = {gMonShinyPalette_Grovyle, SPECIES_GROVYLE + 500}, - [SPECIES_SCEPTILE] = {gMonShinyPalette_Sceptile, SPECIES_SCEPTILE + 500}, - [SPECIES_TORCHIC] = {gMonShinyPalette_Torchic, SPECIES_TORCHIC + 500}, - [SPECIES_COMBUSKEN] = {gMonShinyPalette_Combusken, SPECIES_COMBUSKEN + 500}, - [SPECIES_BLAZIKEN] = {gMonShinyPalette_Blaziken, SPECIES_BLAZIKEN + 500}, - [SPECIES_MUDKIP] = {gMonShinyPalette_Mudkip, SPECIES_MUDKIP + 500}, - [SPECIES_MARSHTOMP] = {gMonShinyPalette_Marshtomp, SPECIES_MARSHTOMP + 500}, - [SPECIES_SWAMPERT] = {gMonShinyPalette_Swampert, SPECIES_SWAMPERT + 500}, - [SPECIES_POOCHYENA] = {gMonShinyPalette_Poochyena, SPECIES_POOCHYENA + 500}, - [SPECIES_MIGHTYENA] = {gMonShinyPalette_Mightyena, SPECIES_MIGHTYENA + 500}, - [SPECIES_ZIGZAGOON] = {gMonShinyPalette_Zigzagoon, SPECIES_ZIGZAGOON + 500}, - [SPECIES_LINOONE] = {gMonShinyPalette_Linoone, SPECIES_LINOONE + 500}, - [SPECIES_WURMPLE] = {gMonShinyPalette_Wurmple, SPECIES_WURMPLE + 500}, - [SPECIES_SILCOON] = {gMonShinyPalette_Silcoon, SPECIES_SILCOON + 500}, - [SPECIES_BEAUTIFLY] = {gMonShinyPalette_Beautifly, SPECIES_BEAUTIFLY + 500}, - [SPECIES_CASCOON] = {gMonShinyPalette_Cascoon, SPECIES_CASCOON + 500}, - [SPECIES_DUSTOX] = {gMonShinyPalette_Dustox, SPECIES_DUSTOX + 500}, - [SPECIES_LOTAD] = {gMonShinyPalette_Lotad, SPECIES_LOTAD + 500}, - [SPECIES_LOMBRE] = {gMonShinyPalette_Lombre, SPECIES_LOMBRE + 500}, - [SPECIES_LUDICOLO] = {gMonShinyPalette_Ludicolo, SPECIES_LUDICOLO + 500}, - [SPECIES_SEEDOT] = {gMonShinyPalette_Seedot, SPECIES_SEEDOT + 500}, - [SPECIES_NUZLEAF] = {gMonShinyPalette_Nuzleaf, SPECIES_NUZLEAF + 500}, - [SPECIES_SHIFTRY] = {gMonShinyPalette_Shiftry, SPECIES_SHIFTRY + 500}, - [SPECIES_NINCADA] = {gMonShinyPalette_Nincada, SPECIES_NINCADA + 500}, - [SPECIES_NINJASK] = {gMonShinyPalette_Ninjask, SPECIES_NINJASK + 500}, - [SPECIES_SHEDINJA] = {gMonShinyPalette_Shedinja, SPECIES_SHEDINJA + 500}, - [SPECIES_TAILLOW] = {gMonShinyPalette_Taillow, SPECIES_TAILLOW + 500}, - [SPECIES_SWELLOW] = {gMonShinyPalette_Swellow, SPECIES_SWELLOW + 500}, - [SPECIES_SHROOMISH] = {gMonShinyPalette_Shroomish, SPECIES_SHROOMISH + 500}, - [SPECIES_BRELOOM] = {gMonShinyPalette_Breloom, SPECIES_BRELOOM + 500}, - [SPECIES_SPINDA] = {gMonShinyPalette_Spinda, SPECIES_SPINDA + 500}, - [SPECIES_WINGULL] = {gMonShinyPalette_Wingull, SPECIES_WINGULL + 500}, - [SPECIES_PELIPPER] = {gMonShinyPalette_Pelipper, SPECIES_PELIPPER + 500}, - [SPECIES_SURSKIT] = {gMonShinyPalette_Surskit, SPECIES_SURSKIT + 500}, - [SPECIES_MASQUERAIN] = {gMonShinyPalette_Masquerain, SPECIES_MASQUERAIN + 500}, - [SPECIES_WAILMER] = {gMonShinyPalette_Wailmer, SPECIES_WAILMER + 500}, - [SPECIES_WAILORD] = {gMonShinyPalette_Wailord, SPECIES_WAILORD + 500}, - [SPECIES_SKITTY] = {gMonShinyPalette_Skitty, SPECIES_SKITTY + 500}, - [SPECIES_DELCATTY] = {gMonShinyPalette_Delcatty, SPECIES_DELCATTY + 500}, - [SPECIES_KECLEON] = {gMonShinyPalette_Kecleon, SPECIES_KECLEON + 500}, - [SPECIES_BALTOY] = {gMonShinyPalette_Baltoy, SPECIES_BALTOY + 500}, - [SPECIES_CLAYDOL] = {gMonShinyPalette_Claydol, SPECIES_CLAYDOL + 500}, - [SPECIES_NOSEPASS] = {gMonShinyPalette_Nosepass, SPECIES_NOSEPASS + 500}, - [SPECIES_TORKOAL] = {gMonShinyPalette_Torkoal, SPECIES_TORKOAL + 500}, - [SPECIES_SABLEYE] = {gMonShinyPalette_Sableye, SPECIES_SABLEYE + 500}, - [SPECIES_BARBOACH] = {gMonShinyPalette_Barboach, SPECIES_BARBOACH + 500}, - [SPECIES_WHISCASH] = {gMonShinyPalette_Whiscash, SPECIES_WHISCASH + 500}, - [SPECIES_LUVDISC] = {gMonShinyPalette_Luvdisc, SPECIES_LUVDISC + 500}, - [SPECIES_CORPHISH] = {gMonShinyPalette_Corphish, SPECIES_CORPHISH + 500}, - [SPECIES_CRAWDAUNT] = {gMonShinyPalette_Crawdaunt, SPECIES_CRAWDAUNT + 500}, - [SPECIES_FEEBAS] = {gMonShinyPalette_Feebas, SPECIES_FEEBAS + 500}, - [SPECIES_MILOTIC] = {gMonShinyPalette_Milotic, SPECIES_MILOTIC + 500}, - [SPECIES_CARVANHA] = {gMonShinyPalette_Carvanha, SPECIES_CARVANHA + 500}, - [SPECIES_SHARPEDO] = {gMonShinyPalette_Sharpedo, SPECIES_SHARPEDO + 500}, - [SPECIES_TRAPINCH] = {gMonShinyPalette_Trapinch, SPECIES_TRAPINCH + 500}, - [SPECIES_VIBRAVA] = {gMonShinyPalette_Vibrava, SPECIES_VIBRAVA + 500}, - [SPECIES_FLYGON] = {gMonShinyPalette_Flygon, SPECIES_FLYGON + 500}, - [SPECIES_MAKUHITA] = {gMonShinyPalette_Makuhita, SPECIES_MAKUHITA + 500}, - [SPECIES_HARIYAMA] = {gMonShinyPalette_Hariyama, SPECIES_HARIYAMA + 500}, - [SPECIES_ELECTRIKE] = {gMonShinyPalette_Electrike, SPECIES_ELECTRIKE + 500}, - [SPECIES_MANECTRIC] = {gMonShinyPalette_Manectric, SPECIES_MANECTRIC + 500}, - [SPECIES_NUMEL] = {gMonShinyPalette_Numel, SPECIES_NUMEL + 500}, - [SPECIES_CAMERUPT] = {gMonShinyPalette_Camerupt, SPECIES_CAMERUPT + 500}, - [SPECIES_SPHEAL] = {gMonShinyPalette_Spheal, SPECIES_SPHEAL + 500}, - [SPECIES_SEALEO] = {gMonShinyPalette_Sealeo, SPECIES_SEALEO + 500}, - [SPECIES_WALREIN] = {gMonShinyPalette_Walrein, SPECIES_WALREIN + 500}, - [SPECIES_CACNEA] = {gMonShinyPalette_Cacnea, SPECIES_CACNEA + 500}, - [SPECIES_CACTURNE] = {gMonShinyPalette_Cacturne, SPECIES_CACTURNE + 500}, - [SPECIES_SNORUNT] = {gMonShinyPalette_Snorunt, SPECIES_SNORUNT + 500}, - [SPECIES_GLALIE] = {gMonShinyPalette_Glalie, SPECIES_GLALIE + 500}, - [SPECIES_LUNATONE] = {gMonShinyPalette_Lunatone, SPECIES_LUNATONE + 500}, - [SPECIES_SOLROCK] = {gMonShinyPalette_Solrock, SPECIES_SOLROCK + 500}, - [SPECIES_AZURILL] = {gMonShinyPalette_Azurill, SPECIES_AZURILL + 500}, - [SPECIES_SPOINK] = {gMonShinyPalette_Spoink, SPECIES_SPOINK + 500}, - [SPECIES_GRUMPIG] = {gMonShinyPalette_Grumpig, SPECIES_GRUMPIG + 500}, - [SPECIES_PLUSLE] = {gMonShinyPalette_Plusle, SPECIES_PLUSLE + 500}, - [SPECIES_MINUN] = {gMonShinyPalette_Minun, SPECIES_MINUN + 500}, - [SPECIES_MAWILE] = {gMonShinyPalette_Mawile, SPECIES_MAWILE + 500}, - [SPECIES_MEDITITE] = {gMonShinyPalette_Meditite, SPECIES_MEDITITE + 500}, - [SPECIES_MEDICHAM] = {gMonShinyPalette_Medicham, SPECIES_MEDICHAM + 500}, - [SPECIES_SWABLU] = {gMonShinyPalette_Swablu, SPECIES_SWABLU + 500}, - [SPECIES_ALTARIA] = {gMonShinyPalette_Altaria, SPECIES_ALTARIA + 500}, - [SPECIES_WYNAUT] = {gMonShinyPalette_Wynaut, SPECIES_WYNAUT + 500}, - [SPECIES_DUSKULL] = {gMonShinyPalette_Duskull, SPECIES_DUSKULL + 500}, - [SPECIES_DUSCLOPS] = {gMonShinyPalette_Dusclops, SPECIES_DUSCLOPS + 500}, - [SPECIES_ROSELIA] = {gMonShinyPalette_Roselia, SPECIES_ROSELIA + 500}, - [SPECIES_SLAKOTH] = {gMonShinyPalette_Slakoth, SPECIES_SLAKOTH + 500}, - [SPECIES_VIGOROTH] = {gMonShinyPalette_Vigoroth, SPECIES_VIGOROTH + 500}, - [SPECIES_SLAKING] = {gMonShinyPalette_Slaking, SPECIES_SLAKING + 500}, - [SPECIES_GULPIN] = {gMonShinyPalette_Gulpin, SPECIES_GULPIN + 500}, - [SPECIES_SWALOT] = {gMonShinyPalette_Swalot, SPECIES_SWALOT + 500}, - [SPECIES_TROPIUS] = {gMonShinyPalette_Tropius, SPECIES_TROPIUS + 500}, - [SPECIES_WHISMUR] = {gMonShinyPalette_Whismur, SPECIES_WHISMUR + 500}, - [SPECIES_LOUDRED] = {gMonShinyPalette_Loudred, SPECIES_LOUDRED + 500}, - [SPECIES_EXPLOUD] = {gMonShinyPalette_Exploud, SPECIES_EXPLOUD + 500}, - [SPECIES_CLAMPERL] = {gMonShinyPalette_Clamperl, SPECIES_CLAMPERL + 500}, - [SPECIES_HUNTAIL] = {gMonShinyPalette_Huntail, SPECIES_HUNTAIL + 500}, - [SPECIES_GOREBYSS] = {gMonShinyPalette_Gorebyss, SPECIES_GOREBYSS + 500}, - [SPECIES_ABSOL] = {gMonShinyPalette_Absol, SPECIES_ABSOL + 500}, - [SPECIES_SHUPPET] = {gMonShinyPalette_Shuppet, SPECIES_SHUPPET + 500}, - [SPECIES_BANETTE] = {gMonShinyPalette_Banette, SPECIES_BANETTE + 500}, - [SPECIES_SEVIPER] = {gMonShinyPalette_Seviper, SPECIES_SEVIPER + 500}, - [SPECIES_ZANGOOSE] = {gMonShinyPalette_Zangoose, SPECIES_ZANGOOSE + 500}, - [SPECIES_RELICANTH] = {gMonShinyPalette_Relicanth, SPECIES_RELICANTH + 500}, - [SPECIES_ARON] = {gMonShinyPalette_Aron, SPECIES_ARON + 500}, - [SPECIES_LAIRON] = {gMonShinyPalette_Lairon, SPECIES_LAIRON + 500}, - [SPECIES_AGGRON] = {gMonShinyPalette_Aggron, SPECIES_AGGRON + 500}, - [SPECIES_CASTFORM] = {gMonShinyPalette_Castform, SPECIES_CASTFORM + 500}, - [SPECIES_VOLBEAT] = {gMonShinyPalette_Volbeat, SPECIES_VOLBEAT + 500}, - [SPECIES_ILLUMISE] = {gMonShinyPalette_Illumise, SPECIES_ILLUMISE + 500}, - [SPECIES_LILEEP] = {gMonShinyPalette_Lileep, SPECIES_LILEEP + 500}, - [SPECIES_CRADILY] = {gMonShinyPalette_Cradily, SPECIES_CRADILY + 500}, - [SPECIES_ANORITH] = {gMonShinyPalette_Anorith, SPECIES_ANORITH + 500}, - [SPECIES_ARMALDO] = {gMonShinyPalette_Armaldo, SPECIES_ARMALDO + 500}, - [SPECIES_RALTS] = {gMonShinyPalette_Ralts, SPECIES_RALTS + 500}, - [SPECIES_KIRLIA] = {gMonShinyPalette_Kirlia, SPECIES_KIRLIA + 500}, - [SPECIES_GARDEVOIR] = {gMonShinyPalette_Gardevoir, SPECIES_GARDEVOIR + 500}, - [SPECIES_BAGON] = {gMonShinyPalette_Bagon, SPECIES_BAGON + 500}, - [SPECIES_SHELGON] = {gMonShinyPalette_Shelgon, SPECIES_SHELGON + 500}, - [SPECIES_SALAMENCE] = {gMonShinyPalette_Salamence, SPECIES_SALAMENCE + 500}, - [SPECIES_BELDUM] = {gMonShinyPalette_Beldum, SPECIES_BELDUM + 500}, - [SPECIES_METANG] = {gMonShinyPalette_Metang, SPECIES_METANG + 500}, - [SPECIES_METAGROSS] = {gMonShinyPalette_Metagross, SPECIES_METAGROSS + 500}, - [SPECIES_REGIROCK] = {gMonShinyPalette_Regirock, SPECIES_REGIROCK + 500}, - [SPECIES_REGICE] = {gMonShinyPalette_Regice, SPECIES_REGICE + 500}, - [SPECIES_REGISTEEL] = {gMonShinyPalette_Registeel, SPECIES_REGISTEEL + 500}, - [SPECIES_KYOGRE] = {gMonShinyPalette_Kyogre, SPECIES_KYOGRE + 500}, - [SPECIES_GROUDON] = {gMonShinyPalette_Groudon, SPECIES_GROUDON + 500}, - [SPECIES_RAYQUAZA] = {gMonShinyPalette_Rayquaza, SPECIES_RAYQUAZA + 500}, - [SPECIES_LATIAS] = {gMonShinyPalette_Latias, SPECIES_LATIAS + 500}, - [SPECIES_LATIOS] = {gMonShinyPalette_Latios, SPECIES_LATIOS + 500}, - [SPECIES_JIRACHI] = {gMonShinyPalette_Jirachi, SPECIES_JIRACHI + 500}, - [SPECIES_DEOXYS] = {gMonShinyPalette_Deoxys, SPECIES_DEOXYS + 500}, - [SPECIES_CHIMECHO] = {gMonShinyPalette_Chimecho, SPECIES_CHIMECHO + 500}, - [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG + 500}, - [SPECIES_UNOWN_B] = {gMonShinyPalette_Unown, SPECIES_UNOWN_B + 500}, - [SPECIES_UNOWN_C] = {gMonShinyPalette_Unown, SPECIES_UNOWN_C + 500}, - [SPECIES_UNOWN_D] = {gMonShinyPalette_Unown, SPECIES_UNOWN_D + 500}, - [SPECIES_UNOWN_E] = {gMonShinyPalette_Unown, SPECIES_UNOWN_E + 500}, - [SPECIES_UNOWN_F] = {gMonShinyPalette_Unown, SPECIES_UNOWN_F + 500}, - [SPECIES_UNOWN_G] = {gMonShinyPalette_Unown, SPECIES_UNOWN_G + 500}, - [SPECIES_UNOWN_H] = {gMonShinyPalette_Unown, SPECIES_UNOWN_H + 500}, - [SPECIES_UNOWN_I] = {gMonShinyPalette_Unown, SPECIES_UNOWN_I + 500}, - [SPECIES_UNOWN_J] = {gMonShinyPalette_Unown, SPECIES_UNOWN_J + 500}, - [SPECIES_UNOWN_K] = {gMonShinyPalette_Unown, SPECIES_UNOWN_K + 500}, - [SPECIES_UNOWN_L] = {gMonShinyPalette_Unown, SPECIES_UNOWN_L + 500}, - [SPECIES_UNOWN_M] = {gMonShinyPalette_Unown, SPECIES_UNOWN_M + 500}, - [SPECIES_UNOWN_N] = {gMonShinyPalette_Unown, SPECIES_UNOWN_N + 500}, - [SPECIES_UNOWN_O] = {gMonShinyPalette_Unown, SPECIES_UNOWN_O + 500}, - [SPECIES_UNOWN_P] = {gMonShinyPalette_Unown, SPECIES_UNOWN_P + 500}, - [SPECIES_UNOWN_Q] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Q + 500}, - [SPECIES_UNOWN_R] = {gMonShinyPalette_Unown, SPECIES_UNOWN_R + 500}, - [SPECIES_UNOWN_S] = {gMonShinyPalette_Unown, SPECIES_UNOWN_S + 500}, - [SPECIES_UNOWN_T] = {gMonShinyPalette_Unown, SPECIES_UNOWN_T + 500}, - [SPECIES_UNOWN_U] = {gMonShinyPalette_Unown, SPECIES_UNOWN_U + 500}, - [SPECIES_UNOWN_V] = {gMonShinyPalette_Unown, SPECIES_UNOWN_V + 500}, - [SPECIES_UNOWN_W] = {gMonShinyPalette_Unown, SPECIES_UNOWN_W + 500}, - [SPECIES_UNOWN_X] = {gMonShinyPalette_Unown, SPECIES_UNOWN_X + 500}, - [SPECIES_UNOWN_Y] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Y + 500}, - [SPECIES_UNOWN_Z] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Z + 500}, - [SPECIES_UNOWN_EMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_EMARK + 500}, - [SPECIES_UNOWN_QMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_QMARK + 500}, + SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark), + SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur), + SPECIES_SHINY_PAL(IVYSAUR, gMonShinyPalette_Ivysaur), + SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur), + SPECIES_SHINY_PAL(CHARMANDER, gMonShinyPalette_Charmander), + SPECIES_SHINY_PAL(CHARMELEON, gMonShinyPalette_Charmeleon), + SPECIES_SHINY_PAL(CHARIZARD, gMonShinyPalette_Charizard), + SPECIES_SHINY_PAL(SQUIRTLE, gMonShinyPalette_Squirtle), + SPECIES_SHINY_PAL(WARTORTLE, gMonShinyPalette_Wartortle), + SPECIES_SHINY_PAL(BLASTOISE, gMonShinyPalette_Blastoise), + SPECIES_SHINY_PAL(CATERPIE, gMonShinyPalette_Caterpie), + SPECIES_SHINY_PAL(METAPOD, gMonShinyPalette_Metapod), + SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree), + SPECIES_SHINY_PAL(WEEDLE, gMonShinyPalette_Weedle), + SPECIES_SHINY_PAL(KAKUNA, gMonShinyPalette_Kakuna), + SPECIES_SHINY_PAL(BEEDRILL, gMonShinyPalette_Beedrill), + SPECIES_SHINY_PAL(PIDGEY, gMonShinyPalette_Pidgey), + SPECIES_SHINY_PAL(PIDGEOTTO, gMonShinyPalette_Pidgeotto), + SPECIES_SHINY_PAL(PIDGEOT, gMonShinyPalette_Pidgeot), + SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata), + SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate), + SPECIES_SHINY_PAL(SPEAROW, gMonShinyPalette_Spearow), + SPECIES_SHINY_PAL(FEAROW, gMonShinyPalette_Fearow), + SPECIES_SHINY_PAL(EKANS, gMonShinyPalette_Ekans), + SPECIES_SHINY_PAL(ARBOK, gMonShinyPalette_Arbok), + SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu), + SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu), + SPECIES_SHINY_PAL(SANDSHREW, gMonShinyPalette_Sandshrew), + SPECIES_SHINY_PAL(SANDSLASH, gMonShinyPalette_Sandslash), + SPECIES_SHINY_PAL(NIDORAN_F, gMonShinyPalette_NidoranF), + SPECIES_SHINY_PAL(NIDORINA, gMonShinyPalette_Nidorina), + SPECIES_SHINY_PAL(NIDOQUEEN, gMonShinyPalette_Nidoqueen), + SPECIES_SHINY_PAL(NIDORAN_M, gMonShinyPalette_NidoranM), + SPECIES_SHINY_PAL(NIDORINO, gMonShinyPalette_Nidorino), + SPECIES_SHINY_PAL(NIDOKING, gMonShinyPalette_Nidoking), + SPECIES_SHINY_PAL(CLEFAIRY, gMonShinyPalette_Clefairy), + SPECIES_SHINY_PAL(CLEFABLE, gMonShinyPalette_Clefable), + SPECIES_SHINY_PAL(VULPIX, gMonShinyPalette_Vulpix), + SPECIES_SHINY_PAL(NINETALES, gMonShinyPalette_Ninetales), + SPECIES_SHINY_PAL(JIGGLYPUFF, gMonShinyPalette_Jigglypuff), + SPECIES_SHINY_PAL(WIGGLYTUFF, gMonShinyPalette_Wigglytuff), + SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat), + SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat), + SPECIES_SHINY_PAL(ODDISH, gMonShinyPalette_Oddish), + SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom), + SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume), + SPECIES_SHINY_PAL(PARAS, gMonShinyPalette_Paras), + SPECIES_SHINY_PAL(PARASECT, gMonShinyPalette_Parasect), + SPECIES_SHINY_PAL(VENONAT, gMonShinyPalette_Venonat), + SPECIES_SHINY_PAL(VENOMOTH, gMonShinyPalette_Venomoth), + SPECIES_SHINY_PAL(DIGLETT, gMonShinyPalette_Diglett), + SPECIES_SHINY_PAL(DUGTRIO, gMonShinyPalette_Dugtrio), + SPECIES_SHINY_PAL(MEOWTH, gMonShinyPalette_Meowth), + SPECIES_SHINY_PAL(PERSIAN, gMonShinyPalette_Persian), + SPECIES_SHINY_PAL(PSYDUCK, gMonShinyPalette_Psyduck), + SPECIES_SHINY_PAL(GOLDUCK, gMonShinyPalette_Golduck), + SPECIES_SHINY_PAL(MANKEY, gMonShinyPalette_Mankey), + SPECIES_SHINY_PAL(PRIMEAPE, gMonShinyPalette_Primeape), + SPECIES_SHINY_PAL(GROWLITHE, gMonShinyPalette_Growlithe), + SPECIES_SHINY_PAL(ARCANINE, gMonShinyPalette_Arcanine), + SPECIES_SHINY_PAL(POLIWAG, gMonShinyPalette_Poliwag), + SPECIES_SHINY_PAL(POLIWHIRL, gMonShinyPalette_Poliwhirl), + SPECIES_SHINY_PAL(POLIWRATH, gMonShinyPalette_Poliwrath), + SPECIES_SHINY_PAL(ABRA, gMonShinyPalette_Abra), + SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra), + SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam), + SPECIES_SHINY_PAL(MACHOP, gMonShinyPalette_Machop), + SPECIES_SHINY_PAL(MACHOKE, gMonShinyPalette_Machoke), + SPECIES_SHINY_PAL(MACHAMP, gMonShinyPalette_Machamp), + SPECIES_SHINY_PAL(BELLSPROUT, gMonShinyPalette_Bellsprout), + SPECIES_SHINY_PAL(WEEPINBELL, gMonShinyPalette_Weepinbell), + SPECIES_SHINY_PAL(VICTREEBEL, gMonShinyPalette_Victreebel), + SPECIES_SHINY_PAL(TENTACOOL, gMonShinyPalette_Tentacool), + SPECIES_SHINY_PAL(TENTACRUEL, gMonShinyPalette_Tentacruel), + SPECIES_SHINY_PAL(GEODUDE, gMonShinyPalette_Geodude), + SPECIES_SHINY_PAL(GRAVELER, gMonShinyPalette_Graveler), + SPECIES_SHINY_PAL(GOLEM, gMonShinyPalette_Golem), + SPECIES_SHINY_PAL(PONYTA, gMonShinyPalette_Ponyta), + SPECIES_SHINY_PAL(RAPIDASH, gMonShinyPalette_Rapidash), + SPECIES_SHINY_PAL(SLOWPOKE, gMonShinyPalette_Slowpoke), + SPECIES_SHINY_PAL(SLOWBRO, gMonShinyPalette_Slowbro), + SPECIES_SHINY_PAL(MAGNEMITE, gMonShinyPalette_Magnemite), + SPECIES_SHINY_PAL(MAGNETON, gMonShinyPalette_Magneton), + SPECIES_SHINY_PAL(FARFETCHD, gMonShinyPalette_Farfetchd), + SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo), + SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio), + SPECIES_SHINY_PAL(SEEL, gMonShinyPalette_Seel), + SPECIES_SHINY_PAL(DEWGONG, gMonShinyPalette_Dewgong), + SPECIES_SHINY_PAL(GRIMER, gMonShinyPalette_Grimer), + SPECIES_SHINY_PAL(MUK, gMonShinyPalette_Muk), + SPECIES_SHINY_PAL(SHELLDER, gMonShinyPalette_Shellder), + SPECIES_SHINY_PAL(CLOYSTER, gMonShinyPalette_Cloyster), + SPECIES_SHINY_PAL(GASTLY, gMonShinyPalette_Gastly), + SPECIES_SHINY_PAL(HAUNTER, gMonShinyPalette_Haunter), + SPECIES_SHINY_PAL(GENGAR, gMonShinyPalette_Gengar), + SPECIES_SHINY_PAL(ONIX, gMonShinyPalette_Onix), + SPECIES_SHINY_PAL(DROWZEE, gMonShinyPalette_Drowzee), + SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno), + SPECIES_SHINY_PAL(KRABBY, gMonShinyPalette_Krabby), + SPECIES_SHINY_PAL(KINGLER, gMonShinyPalette_Kingler), + SPECIES_SHINY_PAL(VOLTORB, gMonShinyPalette_Voltorb), + SPECIES_SHINY_PAL(ELECTRODE, gMonShinyPalette_Electrode), + SPECIES_SHINY_PAL(EXEGGCUTE, gMonShinyPalette_Exeggcute), + SPECIES_SHINY_PAL(EXEGGUTOR, gMonShinyPalette_Exeggutor), + SPECIES_SHINY_PAL(CUBONE, gMonShinyPalette_Cubone), + SPECIES_SHINY_PAL(MAROWAK, gMonShinyPalette_Marowak), + SPECIES_SHINY_PAL(HITMONLEE, gMonShinyPalette_Hitmonlee), + SPECIES_SHINY_PAL(HITMONCHAN, gMonShinyPalette_Hitmonchan), + SPECIES_SHINY_PAL(LICKITUNG, gMonShinyPalette_Lickitung), + SPECIES_SHINY_PAL(KOFFING, gMonShinyPalette_Koffing), + SPECIES_SHINY_PAL(WEEZING, gMonShinyPalette_Weezing), + SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn), + SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon), + SPECIES_SHINY_PAL(CHANSEY, gMonShinyPalette_Chansey), + SPECIES_SHINY_PAL(TANGELA, gMonShinyPalette_Tangela), + SPECIES_SHINY_PAL(KANGASKHAN, gMonShinyPalette_Kangaskhan), + SPECIES_SHINY_PAL(HORSEA, gMonShinyPalette_Horsea), + SPECIES_SHINY_PAL(SEADRA, gMonShinyPalette_Seadra), + SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen), + SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking), + SPECIES_SHINY_PAL(STARYU, gMonShinyPalette_Staryu), + SPECIES_SHINY_PAL(STARMIE, gMonShinyPalette_Starmie), + SPECIES_SHINY_PAL(MR_MIME, gMonShinyPalette_Mrmime), + SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther), + SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx), + SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz), + SPECIES_SHINY_PAL(MAGMAR, gMonShinyPalette_Magmar), + SPECIES_SHINY_PAL(PINSIR, gMonShinyPalette_Pinsir), + SPECIES_SHINY_PAL(TAUROS, gMonShinyPalette_Tauros), + SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp), + SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados), + SPECIES_SHINY_PAL(LAPRAS, gMonShinyPalette_Lapras), + SPECIES_SHINY_PAL(DITTO, gMonShinyPalette_Ditto), + SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), + SPECIES_SHINY_PAL(VAPOREON, gMonShinyPalette_Vaporeon), + SPECIES_SHINY_PAL(JOLTEON, gMonShinyPalette_Jolteon), + SPECIES_SHINY_PAL(FLAREON, gMonShinyPalette_Flareon), + SPECIES_SHINY_PAL(PORYGON, gMonShinyPalette_Porygon), + SPECIES_SHINY_PAL(OMANYTE, gMonShinyPalette_Omanyte), + SPECIES_SHINY_PAL(OMASTAR, gMonShinyPalette_Omastar), + SPECIES_SHINY_PAL(KABUTO, gMonShinyPalette_Kabuto), + SPECIES_SHINY_PAL(KABUTOPS, gMonShinyPalette_Kabutops), + SPECIES_SHINY_PAL(AERODACTYL, gMonShinyPalette_Aerodactyl), + SPECIES_SHINY_PAL(SNORLAX, gMonShinyPalette_Snorlax), + SPECIES_SHINY_PAL(ARTICUNO, gMonShinyPalette_Articuno), + SPECIES_SHINY_PAL(ZAPDOS, gMonShinyPalette_Zapdos), + SPECIES_SHINY_PAL(MOLTRES, gMonShinyPalette_Moltres), + SPECIES_SHINY_PAL(DRATINI, gMonShinyPalette_Dratini), + SPECIES_SHINY_PAL(DRAGONAIR, gMonShinyPalette_Dragonair), + SPECIES_SHINY_PAL(DRAGONITE, gMonShinyPalette_Dragonite), + SPECIES_SHINY_PAL(MEWTWO, gMonShinyPalette_Mewtwo), + SPECIES_SHINY_PAL(MEW, gMonShinyPalette_Mew), + SPECIES_SHINY_PAL(CHIKORITA, gMonShinyPalette_Chikorita), + SPECIES_SHINY_PAL(BAYLEEF, gMonShinyPalette_Bayleef), + SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium), + SPECIES_SHINY_PAL(CYNDAQUIL, gMonShinyPalette_Cyndaquil), + SPECIES_SHINY_PAL(QUILAVA, gMonShinyPalette_Quilava), + SPECIES_SHINY_PAL(TYPHLOSION, gMonShinyPalette_Typhlosion), + SPECIES_SHINY_PAL(TOTODILE, gMonShinyPalette_Totodile), + SPECIES_SHINY_PAL(CROCONAW, gMonShinyPalette_Croconaw), + SPECIES_SHINY_PAL(FERALIGATR, gMonShinyPalette_Feraligatr), + SPECIES_SHINY_PAL(SENTRET, gMonShinyPalette_Sentret), + SPECIES_SHINY_PAL(FURRET, gMonShinyPalette_Furret), + SPECIES_SHINY_PAL(HOOTHOOT, gMonShinyPalette_Hoothoot), + SPECIES_SHINY_PAL(NOCTOWL, gMonShinyPalette_Noctowl), + SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba), + SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian), + SPECIES_SHINY_PAL(SPINARAK, gMonShinyPalette_Spinarak), + SPECIES_SHINY_PAL(ARIADOS, gMonShinyPalette_Ariados), + SPECIES_SHINY_PAL(CROBAT, gMonShinyPalette_Crobat), + SPECIES_SHINY_PAL(CHINCHOU, gMonShinyPalette_Chinchou), + SPECIES_SHINY_PAL(LANTURN, gMonShinyPalette_Lanturn), + SPECIES_SHINY_PAL(PICHU, gMonShinyPalette_Pichu), + SPECIES_SHINY_PAL(CLEFFA, gMonShinyPalette_Cleffa), + SPECIES_SHINY_PAL(IGGLYBUFF, gMonShinyPalette_Igglybuff), + SPECIES_SHINY_PAL(TOGEPI, gMonShinyPalette_Togepi), + SPECIES_SHINY_PAL(TOGETIC, gMonShinyPalette_Togetic), + SPECIES_SHINY_PAL(NATU, gMonShinyPalette_Natu), + SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu), + SPECIES_SHINY_PAL(MAREEP, gMonShinyPalette_Mareep), + SPECIES_SHINY_PAL(FLAAFFY, gMonShinyPalette_Flaaffy), + SPECIES_SHINY_PAL(AMPHAROS, gMonShinyPalette_Ampharos), + SPECIES_SHINY_PAL(BELLOSSOM, gMonShinyPalette_Bellossom), + SPECIES_SHINY_PAL(MARILL, gMonShinyPalette_Marill), + SPECIES_SHINY_PAL(AZUMARILL, gMonShinyPalette_Azumarill), + SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo), + SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed), + SPECIES_SHINY_PAL(HOPPIP, gMonShinyPalette_Hoppip), + SPECIES_SHINY_PAL(SKIPLOOM, gMonShinyPalette_Skiploom), + SPECIES_SHINY_PAL(JUMPLUFF, gMonShinyPalette_Jumpluff), + SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom), + SPECIES_SHINY_PAL(SUNKERN, gMonShinyPalette_Sunkern), + SPECIES_SHINY_PAL(SUNFLORA, gMonShinyPalette_Sunflora), + SPECIES_SHINY_PAL(YANMA, gMonShinyPalette_Yanma), + SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper), + SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire), + SPECIES_SHINY_PAL(ESPEON, gMonShinyPalette_Espeon), + SPECIES_SHINY_PAL(UMBREON, gMonShinyPalette_Umbreon), + SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow), + SPECIES_SHINY_PAL(SLOWKING, gMonShinyPalette_Slowking), + SPECIES_SHINY_PAL(MISDREAVUS, gMonShinyPalette_Misdreavus), + SPECIES_SHINY_PAL(UNOWN, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet), + SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig), + SPECIES_SHINY_PAL(PINECO, gMonShinyPalette_Pineco), + SPECIES_SHINY_PAL(FORRETRESS, gMonShinyPalette_Forretress), + SPECIES_SHINY_PAL(DUNSPARCE, gMonShinyPalette_Dunsparce), + SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar), + SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix), + SPECIES_SHINY_PAL(SNUBBULL, gMonShinyPalette_Snubbull), + SPECIES_SHINY_PAL(GRANBULL, gMonShinyPalette_Granbull), + SPECIES_SHINY_PAL(QWILFISH, gMonShinyPalette_Qwilfish), + SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor), + SPECIES_SHINY_PAL(SHUCKLE, gMonShinyPalette_Shuckle), + SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross), + SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel), + SPECIES_SHINY_PAL(TEDDIURSA, gMonShinyPalette_Teddiursa), + SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring), + SPECIES_SHINY_PAL(SLUGMA, gMonShinyPalette_Slugma), + SPECIES_SHINY_PAL(MAGCARGO, gMonShinyPalette_Magcargo), + SPECIES_SHINY_PAL(SWINUB, gMonShinyPalette_Swinub), + SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine), + SPECIES_SHINY_PAL(CORSOLA, gMonShinyPalette_Corsola), + SPECIES_SHINY_PAL(REMORAID, gMonShinyPalette_Remoraid), + SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery), + SPECIES_SHINY_PAL(DELIBIRD, gMonShinyPalette_Delibird), + SPECIES_SHINY_PAL(MANTINE, gMonShinyPalette_Mantine), + SPECIES_SHINY_PAL(SKARMORY, gMonShinyPalette_Skarmory), + SPECIES_SHINY_PAL(HOUNDOUR, gMonShinyPalette_Houndour), + SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom), + SPECIES_SHINY_PAL(KINGDRA, gMonShinyPalette_Kingdra), + SPECIES_SHINY_PAL(PHANPY, gMonShinyPalette_Phanpy), + SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan), + SPECIES_SHINY_PAL(PORYGON2, gMonShinyPalette_Porygon2), + SPECIES_SHINY_PAL(STANTLER, gMonShinyPalette_Stantler), + SPECIES_SHINY_PAL(SMEARGLE, gMonShinyPalette_Smeargle), + SPECIES_SHINY_PAL(TYROGUE, gMonShinyPalette_Tyrogue), + SPECIES_SHINY_PAL(HITMONTOP, gMonShinyPalette_Hitmontop), + SPECIES_SHINY_PAL(SMOOCHUM, gMonShinyPalette_Smoochum), + SPECIES_SHINY_PAL(ELEKID, gMonShinyPalette_Elekid), + SPECIES_SHINY_PAL(MAGBY, gMonShinyPalette_Magby), + SPECIES_SHINY_PAL(MILTANK, gMonShinyPalette_Miltank), + SPECIES_SHINY_PAL(BLISSEY, gMonShinyPalette_Blissey), + SPECIES_SHINY_PAL(RAIKOU, gMonShinyPalette_Raikou), + SPECIES_SHINY_PAL(ENTEI, gMonShinyPalette_Entei), + SPECIES_SHINY_PAL(SUICUNE, gMonShinyPalette_Suicune), + SPECIES_SHINY_PAL(LARVITAR, gMonShinyPalette_Larvitar), + SPECIES_SHINY_PAL(PUPITAR, gMonShinyPalette_Pupitar), + SPECIES_SHINY_PAL(TYRANITAR, gMonShinyPalette_Tyranitar), + SPECIES_SHINY_PAL(LUGIA, gMonShinyPalette_Lugia), + SPECIES_SHINY_PAL(HO_OH, gMonShinyPalette_HoOh), + SPECIES_SHINY_PAL(CELEBI, gMonShinyPalette_Celebi), + SPECIES_SHINY_PAL(OLD_UNOWN_B, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_C, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_D, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_E, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_F, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_G, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_H, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_I, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_J, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_K, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_L, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_M, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_N, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_O, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_P, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Q, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_R, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_S, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_T, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_U, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_V, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_W, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_X, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Y, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(OLD_UNOWN_Z, gMonShinyPalette_DoubleQuestionMark), + SPECIES_SHINY_PAL(TREECKO, gMonShinyPalette_Treecko), + SPECIES_SHINY_PAL(GROVYLE, gMonShinyPalette_Grovyle), + SPECIES_SHINY_PAL(SCEPTILE, gMonShinyPalette_Sceptile), + SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic), + SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken), + SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken), + SPECIES_SHINY_PAL(MUDKIP, gMonShinyPalette_Mudkip), + SPECIES_SHINY_PAL(MARSHTOMP, gMonShinyPalette_Marshtomp), + SPECIES_SHINY_PAL(SWAMPERT, gMonShinyPalette_Swampert), + SPECIES_SHINY_PAL(POOCHYENA, gMonShinyPalette_Poochyena), + SPECIES_SHINY_PAL(MIGHTYENA, gMonShinyPalette_Mightyena), + SPECIES_SHINY_PAL(ZIGZAGOON, gMonShinyPalette_Zigzagoon), + SPECIES_SHINY_PAL(LINOONE, gMonShinyPalette_Linoone), + SPECIES_SHINY_PAL(WURMPLE, gMonShinyPalette_Wurmple), + SPECIES_SHINY_PAL(SILCOON, gMonShinyPalette_Silcoon), + SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly), + SPECIES_SHINY_PAL(CASCOON, gMonShinyPalette_Cascoon), + SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox), + SPECIES_SHINY_PAL(LOTAD, gMonShinyPalette_Lotad), + SPECIES_SHINY_PAL(LOMBRE, gMonShinyPalette_Lombre), + SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo), + SPECIES_SHINY_PAL(SEEDOT, gMonShinyPalette_Seedot), + SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf), + SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry), + SPECIES_SHINY_PAL(NINCADA, gMonShinyPalette_Nincada), + SPECIES_SHINY_PAL(NINJASK, gMonShinyPalette_Ninjask), + SPECIES_SHINY_PAL(SHEDINJA, gMonShinyPalette_Shedinja), + SPECIES_SHINY_PAL(TAILLOW, gMonShinyPalette_Taillow), + SPECIES_SHINY_PAL(SWELLOW, gMonShinyPalette_Swellow), + SPECIES_SHINY_PAL(SHROOMISH, gMonShinyPalette_Shroomish), + SPECIES_SHINY_PAL(BRELOOM, gMonShinyPalette_Breloom), + SPECIES_SHINY_PAL(SPINDA, gMonShinyPalette_Spinda), + SPECIES_SHINY_PAL(WINGULL, gMonShinyPalette_Wingull), + SPECIES_SHINY_PAL(PELIPPER, gMonShinyPalette_Pelipper), + SPECIES_SHINY_PAL(SURSKIT, gMonShinyPalette_Surskit), + SPECIES_SHINY_PAL(MASQUERAIN, gMonShinyPalette_Masquerain), + SPECIES_SHINY_PAL(WAILMER, gMonShinyPalette_Wailmer), + SPECIES_SHINY_PAL(WAILORD, gMonShinyPalette_Wailord), + SPECIES_SHINY_PAL(SKITTY, gMonShinyPalette_Skitty), + SPECIES_SHINY_PAL(DELCATTY, gMonShinyPalette_Delcatty), + SPECIES_SHINY_PAL(KECLEON, gMonShinyPalette_Kecleon), + SPECIES_SHINY_PAL(BALTOY, gMonShinyPalette_Baltoy), + SPECIES_SHINY_PAL(CLAYDOL, gMonShinyPalette_Claydol), + SPECIES_SHINY_PAL(NOSEPASS, gMonShinyPalette_Nosepass), + SPECIES_SHINY_PAL(TORKOAL, gMonShinyPalette_Torkoal), + SPECIES_SHINY_PAL(SABLEYE, gMonShinyPalette_Sableye), + SPECIES_SHINY_PAL(BARBOACH, gMonShinyPalette_Barboach), + SPECIES_SHINY_PAL(WHISCASH, gMonShinyPalette_Whiscash), + SPECIES_SHINY_PAL(LUVDISC, gMonShinyPalette_Luvdisc), + SPECIES_SHINY_PAL(CORPHISH, gMonShinyPalette_Corphish), + SPECIES_SHINY_PAL(CRAWDAUNT, gMonShinyPalette_Crawdaunt), + SPECIES_SHINY_PAL(FEEBAS, gMonShinyPalette_Feebas), + SPECIES_SHINY_PAL(MILOTIC, gMonShinyPalette_Milotic), + SPECIES_SHINY_PAL(CARVANHA, gMonShinyPalette_Carvanha), + SPECIES_SHINY_PAL(SHARPEDO, gMonShinyPalette_Sharpedo), + SPECIES_SHINY_PAL(TRAPINCH, gMonShinyPalette_Trapinch), + SPECIES_SHINY_PAL(VIBRAVA, gMonShinyPalette_Vibrava), + SPECIES_SHINY_PAL(FLYGON, gMonShinyPalette_Flygon), + SPECIES_SHINY_PAL(MAKUHITA, gMonShinyPalette_Makuhita), + SPECIES_SHINY_PAL(HARIYAMA, gMonShinyPalette_Hariyama), + SPECIES_SHINY_PAL(ELECTRIKE, gMonShinyPalette_Electrike), + SPECIES_SHINY_PAL(MANECTRIC, gMonShinyPalette_Manectric), + SPECIES_SHINY_PAL(NUMEL, gMonShinyPalette_Numel), + SPECIES_SHINY_PAL(CAMERUPT, gMonShinyPalette_Camerupt), + SPECIES_SHINY_PAL(SPHEAL, gMonShinyPalette_Spheal), + SPECIES_SHINY_PAL(SEALEO, gMonShinyPalette_Sealeo), + SPECIES_SHINY_PAL(WALREIN, gMonShinyPalette_Walrein), + SPECIES_SHINY_PAL(CACNEA, gMonShinyPalette_Cacnea), + SPECIES_SHINY_PAL(CACTURNE, gMonShinyPalette_Cacturne), + SPECIES_SHINY_PAL(SNORUNT, gMonShinyPalette_Snorunt), + SPECIES_SHINY_PAL(GLALIE, gMonShinyPalette_Glalie), + SPECIES_SHINY_PAL(LUNATONE, gMonShinyPalette_Lunatone), + SPECIES_SHINY_PAL(SOLROCK, gMonShinyPalette_Solrock), + SPECIES_SHINY_PAL(AZURILL, gMonShinyPalette_Azurill), + SPECIES_SHINY_PAL(SPOINK, gMonShinyPalette_Spoink), + SPECIES_SHINY_PAL(GRUMPIG, gMonShinyPalette_Grumpig), + SPECIES_SHINY_PAL(PLUSLE, gMonShinyPalette_Plusle), + SPECIES_SHINY_PAL(MINUN, gMonShinyPalette_Minun), + SPECIES_SHINY_PAL(MAWILE, gMonShinyPalette_Mawile), + SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite), + SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham), + SPECIES_SHINY_PAL(SWABLU, gMonShinyPalette_Swablu), + SPECIES_SHINY_PAL(ALTARIA, gMonShinyPalette_Altaria), + SPECIES_SHINY_PAL(WYNAUT, gMonShinyPalette_Wynaut), + SPECIES_SHINY_PAL(DUSKULL, gMonShinyPalette_Duskull), + SPECIES_SHINY_PAL(DUSCLOPS, gMonShinyPalette_Dusclops), + SPECIES_SHINY_PAL(ROSELIA, gMonShinyPalette_Roselia), + SPECIES_SHINY_PAL(SLAKOTH, gMonShinyPalette_Slakoth), + SPECIES_SHINY_PAL(VIGOROTH, gMonShinyPalette_Vigoroth), + SPECIES_SHINY_PAL(SLAKING, gMonShinyPalette_Slaking), + SPECIES_SHINY_PAL(GULPIN, gMonShinyPalette_Gulpin), + SPECIES_SHINY_PAL(SWALOT, gMonShinyPalette_Swalot), + SPECIES_SHINY_PAL(TROPIUS, gMonShinyPalette_Tropius), + SPECIES_SHINY_PAL(WHISMUR, gMonShinyPalette_Whismur), + SPECIES_SHINY_PAL(LOUDRED, gMonShinyPalette_Loudred), + SPECIES_SHINY_PAL(EXPLOUD, gMonShinyPalette_Exploud), + SPECIES_SHINY_PAL(CLAMPERL, gMonShinyPalette_Clamperl), + SPECIES_SHINY_PAL(HUNTAIL, gMonShinyPalette_Huntail), + SPECIES_SHINY_PAL(GOREBYSS, gMonShinyPalette_Gorebyss), + SPECIES_SHINY_PAL(ABSOL, gMonShinyPalette_Absol), + SPECIES_SHINY_PAL(SHUPPET, gMonShinyPalette_Shuppet), + SPECIES_SHINY_PAL(BANETTE, gMonShinyPalette_Banette), + SPECIES_SHINY_PAL(SEVIPER, gMonShinyPalette_Seviper), + SPECIES_SHINY_PAL(ZANGOOSE, gMonShinyPalette_Zangoose), + SPECIES_SHINY_PAL(RELICANTH, gMonShinyPalette_Relicanth), + SPECIES_SHINY_PAL(ARON, gMonShinyPalette_Aron), + SPECIES_SHINY_PAL(LAIRON, gMonShinyPalette_Lairon), + SPECIES_SHINY_PAL(AGGRON, gMonShinyPalette_Aggron), + SPECIES_SHINY_PAL(CASTFORM, gMonShinyPalette_Castform), + SPECIES_SHINY_PAL(VOLBEAT, gMonShinyPalette_Volbeat), + SPECIES_SHINY_PAL(ILLUMISE, gMonShinyPalette_Illumise), + SPECIES_SHINY_PAL(LILEEP, gMonShinyPalette_Lileep), + SPECIES_SHINY_PAL(CRADILY, gMonShinyPalette_Cradily), + SPECIES_SHINY_PAL(ANORITH, gMonShinyPalette_Anorith), + SPECIES_SHINY_PAL(ARMALDO, gMonShinyPalette_Armaldo), + SPECIES_SHINY_PAL(RALTS, gMonShinyPalette_Ralts), + SPECIES_SHINY_PAL(KIRLIA, gMonShinyPalette_Kirlia), + SPECIES_SHINY_PAL(GARDEVOIR, gMonShinyPalette_Gardevoir), + SPECIES_SHINY_PAL(BAGON, gMonShinyPalette_Bagon), + SPECIES_SHINY_PAL(SHELGON, gMonShinyPalette_Shelgon), + SPECIES_SHINY_PAL(SALAMENCE, gMonShinyPalette_Salamence), + SPECIES_SHINY_PAL(BELDUM, gMonShinyPalette_Beldum), + SPECIES_SHINY_PAL(METANG, gMonShinyPalette_Metang), + SPECIES_SHINY_PAL(METAGROSS, gMonShinyPalette_Metagross), + SPECIES_SHINY_PAL(REGIROCK, gMonShinyPalette_Regirock), + SPECIES_SHINY_PAL(REGICE, gMonShinyPalette_Regice), + SPECIES_SHINY_PAL(REGISTEEL, gMonShinyPalette_Registeel), + SPECIES_SHINY_PAL(KYOGRE, gMonShinyPalette_Kyogre), + SPECIES_SHINY_PAL(GROUDON, gMonShinyPalette_Groudon), + SPECIES_SHINY_PAL(RAYQUAZA, gMonShinyPalette_Rayquaza), + SPECIES_SHINY_PAL(LATIAS, gMonShinyPalette_Latias), + SPECIES_SHINY_PAL(LATIOS, gMonShinyPalette_Latios), + SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi), + SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys), + SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho), + SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), + SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_E, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_F, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_G, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_H, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_I, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_J, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_K, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_L, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_M, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_N, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_O, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_P, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Q, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_R, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_S, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_T, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_U, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_V, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_W, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_X, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Y, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown), + SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown), }; diff --git a/src/data/pokemon_graphics/still_front_pic_table.h b/src/data/pokemon_graphics/still_front_pic_table.h index 308a872b4..985a3aa2f 100644 --- a/src/data/pokemon_graphics/still_front_pic_table.h +++ b/src/data/pokemon_graphics/still_front_pic_table.h @@ -1,448 +1,446 @@ -#define STILL_FRONT_PIC(species, frontpic) [SPECIES_##species] = {frontpic, 0x800, SPECIES_##species} - -const struct CompressedSpriteSheet gMonStillFrontPicTable[] = +const struct CompressedSpriteSheet gMonStillFrontPicTable[] = { - STILL_FRONT_PIC(NONE, gMonStillFrontPic_CircledQuestionMark), - STILL_FRONT_PIC(BULBASAUR, gMonStillFrontPic_Bulbasaur), - STILL_FRONT_PIC(IVYSAUR, gMonStillFrontPic_Ivysaur), - STILL_FRONT_PIC(VENUSAUR, gMonStillFrontPic_Venusaur), - STILL_FRONT_PIC(CHARMANDER, gMonStillFrontPic_Charmander), - STILL_FRONT_PIC(CHARMELEON, gMonStillFrontPic_Charmeleon), - STILL_FRONT_PIC(CHARIZARD, gMonStillFrontPic_Charizard), - STILL_FRONT_PIC(SQUIRTLE, gMonStillFrontPic_Squirtle), - STILL_FRONT_PIC(WARTORTLE, gMonStillFrontPic_Wartortle), - STILL_FRONT_PIC(BLASTOISE, gMonStillFrontPic_Blastoise), - STILL_FRONT_PIC(CATERPIE, gMonStillFrontPic_Caterpie), - STILL_FRONT_PIC(METAPOD, gMonStillFrontPic_Metapod), - STILL_FRONT_PIC(BUTTERFREE, gMonStillFrontPic_Butterfree), - STILL_FRONT_PIC(WEEDLE, gMonStillFrontPic_Weedle), - STILL_FRONT_PIC(KAKUNA, gMonStillFrontPic_Kakuna), - STILL_FRONT_PIC(BEEDRILL, gMonStillFrontPic_Beedrill), - STILL_FRONT_PIC(PIDGEY, gMonStillFrontPic_Pidgey), - STILL_FRONT_PIC(PIDGEOTTO, gMonStillFrontPic_Pidgeotto), - STILL_FRONT_PIC(PIDGEOT, gMonStillFrontPic_Pidgeot), - STILL_FRONT_PIC(RATTATA, gMonStillFrontPic_Rattata), - STILL_FRONT_PIC(RATICATE, gMonStillFrontPic_Raticate), - STILL_FRONT_PIC(SPEAROW, gMonStillFrontPic_Spearow), - STILL_FRONT_PIC(FEAROW, gMonStillFrontPic_Fearow), - STILL_FRONT_PIC(EKANS, gMonStillFrontPic_Ekans), - STILL_FRONT_PIC(ARBOK, gMonStillFrontPic_Arbok), - STILL_FRONT_PIC(PIKACHU, gMonStillFrontPic_Pikachu), - STILL_FRONT_PIC(RAICHU, gMonStillFrontPic_Raichu), - STILL_FRONT_PIC(SANDSHREW, gMonStillFrontPic_Sandshrew), - STILL_FRONT_PIC(SANDSLASH, gMonStillFrontPic_Sandslash), - STILL_FRONT_PIC(NIDORAN_F, gMonStillFrontPic_NidoranF), - STILL_FRONT_PIC(NIDORINA, gMonStillFrontPic_Nidorina), - STILL_FRONT_PIC(NIDOQUEEN, gMonStillFrontPic_Nidoqueen), - STILL_FRONT_PIC(NIDORAN_M, gMonStillFrontPic_NidoranM), - STILL_FRONT_PIC(NIDORINO, gMonStillFrontPic_Nidorino), - STILL_FRONT_PIC(NIDOKING, gMonStillFrontPic_Nidoking), - STILL_FRONT_PIC(CLEFAIRY, gMonStillFrontPic_Clefairy), - STILL_FRONT_PIC(CLEFABLE, gMonStillFrontPic_Clefable), - STILL_FRONT_PIC(VULPIX, gMonStillFrontPic_Vulpix), - STILL_FRONT_PIC(NINETALES, gMonStillFrontPic_Ninetales), - STILL_FRONT_PIC(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff), - STILL_FRONT_PIC(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff), - STILL_FRONT_PIC(ZUBAT, gMonStillFrontPic_Zubat), - STILL_FRONT_PIC(GOLBAT, gMonStillFrontPic_Golbat), - STILL_FRONT_PIC(ODDISH, gMonStillFrontPic_Oddish), - STILL_FRONT_PIC(GLOOM, gMonStillFrontPic_Gloom), - STILL_FRONT_PIC(VILEPLUME, gMonStillFrontPic_Vileplume), - STILL_FRONT_PIC(PARAS, gMonStillFrontPic_Paras), - STILL_FRONT_PIC(PARASECT, gMonStillFrontPic_Parasect), - STILL_FRONT_PIC(VENONAT, gMonStillFrontPic_Venonat), - STILL_FRONT_PIC(VENOMOTH, gMonStillFrontPic_Venomoth), - STILL_FRONT_PIC(DIGLETT, gMonStillFrontPic_Diglett), - STILL_FRONT_PIC(DUGTRIO, gMonStillFrontPic_Dugtrio), - STILL_FRONT_PIC(MEOWTH, gMonStillFrontPic_Meowth), - STILL_FRONT_PIC(PERSIAN, gMonStillFrontPic_Persian), - STILL_FRONT_PIC(PSYDUCK, gMonStillFrontPic_Psyduck), - STILL_FRONT_PIC(GOLDUCK, gMonStillFrontPic_Golduck), - STILL_FRONT_PIC(MANKEY, gMonStillFrontPic_Mankey), - STILL_FRONT_PIC(PRIMEAPE, gMonStillFrontPic_Primeape), - STILL_FRONT_PIC(GROWLITHE, gMonStillFrontPic_Growlithe), - STILL_FRONT_PIC(ARCANINE, gMonStillFrontPic_Arcanine), - STILL_FRONT_PIC(POLIWAG, gMonStillFrontPic_Poliwag), - STILL_FRONT_PIC(POLIWHIRL, gMonStillFrontPic_Poliwhirl), - STILL_FRONT_PIC(POLIWRATH, gMonStillFrontPic_Poliwrath), - STILL_FRONT_PIC(ABRA, gMonStillFrontPic_Abra), - STILL_FRONT_PIC(KADABRA, gMonStillFrontPic_Kadabra), - STILL_FRONT_PIC(ALAKAZAM, gMonStillFrontPic_Alakazam), - STILL_FRONT_PIC(MACHOP, gMonStillFrontPic_Machop), - STILL_FRONT_PIC(MACHOKE, gMonStillFrontPic_Machoke), - STILL_FRONT_PIC(MACHAMP, gMonStillFrontPic_Machamp), - STILL_FRONT_PIC(BELLSPROUT, gMonStillFrontPic_Bellsprout), - STILL_FRONT_PIC(WEEPINBELL, gMonStillFrontPic_Weepinbell), - STILL_FRONT_PIC(VICTREEBEL, gMonStillFrontPic_Victreebel), - STILL_FRONT_PIC(TENTACOOL, gMonStillFrontPic_Tentacool), - STILL_FRONT_PIC(TENTACRUEL, gMonStillFrontPic_Tentacruel), - STILL_FRONT_PIC(GEODUDE, gMonStillFrontPic_Geodude), - STILL_FRONT_PIC(GRAVELER, gMonStillFrontPic_Graveler), - STILL_FRONT_PIC(GOLEM, gMonStillFrontPic_Golem), - STILL_FRONT_PIC(PONYTA, gMonStillFrontPic_Ponyta), - STILL_FRONT_PIC(RAPIDASH, gMonStillFrontPic_Rapidash), - STILL_FRONT_PIC(SLOWPOKE, gMonStillFrontPic_Slowpoke), - STILL_FRONT_PIC(SLOWBRO, gMonStillFrontPic_Slowbro), - STILL_FRONT_PIC(MAGNEMITE, gMonStillFrontPic_Magnemite), - STILL_FRONT_PIC(MAGNETON, gMonStillFrontPic_Magneton), - STILL_FRONT_PIC(FARFETCHD, gMonStillFrontPic_Farfetchd), - STILL_FRONT_PIC(DODUO, gMonStillFrontPic_Doduo), - STILL_FRONT_PIC(DODRIO, gMonStillFrontPic_Dodrio), - STILL_FRONT_PIC(SEEL, gMonStillFrontPic_Seel), - STILL_FRONT_PIC(DEWGONG, gMonStillFrontPic_Dewgong), - STILL_FRONT_PIC(GRIMER, gMonStillFrontPic_Grimer), - STILL_FRONT_PIC(MUK, gMonStillFrontPic_Muk), - STILL_FRONT_PIC(SHELLDER, gMonStillFrontPic_Shellder), - STILL_FRONT_PIC(CLOYSTER, gMonStillFrontPic_Cloyster), - STILL_FRONT_PIC(GASTLY, gMonStillFrontPic_Gastly), - STILL_FRONT_PIC(HAUNTER, gMonStillFrontPic_Haunter), - STILL_FRONT_PIC(GENGAR, gMonStillFrontPic_Gengar), - STILL_FRONT_PIC(ONIX, gMonStillFrontPic_Onix), - STILL_FRONT_PIC(DROWZEE, gMonStillFrontPic_Drowzee), - STILL_FRONT_PIC(HYPNO, gMonStillFrontPic_Hypno), - STILL_FRONT_PIC(KRABBY, gMonStillFrontPic_Krabby), - STILL_FRONT_PIC(KINGLER, gMonStillFrontPic_Kingler), - STILL_FRONT_PIC(VOLTORB, gMonStillFrontPic_Voltorb), - STILL_FRONT_PIC(ELECTRODE, gMonStillFrontPic_Electrode), - STILL_FRONT_PIC(EXEGGCUTE, gMonStillFrontPic_Exeggcute), - STILL_FRONT_PIC(EXEGGUTOR, gMonStillFrontPic_Exeggutor), - STILL_FRONT_PIC(CUBONE, gMonStillFrontPic_Cubone), - STILL_FRONT_PIC(MAROWAK, gMonStillFrontPic_Marowak), - STILL_FRONT_PIC(HITMONLEE, gMonStillFrontPic_Hitmonlee), - STILL_FRONT_PIC(HITMONCHAN, gMonStillFrontPic_Hitmonchan), - STILL_FRONT_PIC(LICKITUNG, gMonStillFrontPic_Lickitung), - STILL_FRONT_PIC(KOFFING, gMonStillFrontPic_Koffing), - STILL_FRONT_PIC(WEEZING, gMonStillFrontPic_Weezing), - STILL_FRONT_PIC(RHYHORN, gMonStillFrontPic_Rhyhorn), - STILL_FRONT_PIC(RHYDON, gMonStillFrontPic_Rhydon), - STILL_FRONT_PIC(CHANSEY, gMonStillFrontPic_Chansey), - STILL_FRONT_PIC(TANGELA, gMonStillFrontPic_Tangela), - STILL_FRONT_PIC(KANGASKHAN, gMonStillFrontPic_Kangaskhan), - STILL_FRONT_PIC(HORSEA, gMonStillFrontPic_Horsea), - STILL_FRONT_PIC(SEADRA, gMonStillFrontPic_Seadra), - STILL_FRONT_PIC(GOLDEEN, gMonStillFrontPic_Goldeen), - STILL_FRONT_PIC(SEAKING, gMonStillFrontPic_Seaking), - STILL_FRONT_PIC(STARYU, gMonStillFrontPic_Staryu), - STILL_FRONT_PIC(STARMIE, gMonStillFrontPic_Starmie), - STILL_FRONT_PIC(MR_MIME, gMonStillFrontPic_Mrmime), - STILL_FRONT_PIC(SCYTHER, gMonStillFrontPic_Scyther), - STILL_FRONT_PIC(JYNX, gMonStillFrontPic_Jynx), - STILL_FRONT_PIC(ELECTABUZZ, gMonStillFrontPic_Electabuzz), - STILL_FRONT_PIC(MAGMAR, gMonStillFrontPic_Magmar), - STILL_FRONT_PIC(PINSIR, gMonStillFrontPic_Pinsir), - STILL_FRONT_PIC(TAUROS, gMonStillFrontPic_Tauros), - STILL_FRONT_PIC(MAGIKARP, gMonStillFrontPic_Magikarp), - STILL_FRONT_PIC(GYARADOS, gMonStillFrontPic_Gyarados), - STILL_FRONT_PIC(LAPRAS, gMonStillFrontPic_Lapras), - STILL_FRONT_PIC(DITTO, gMonStillFrontPic_Ditto), - STILL_FRONT_PIC(EEVEE, gMonStillFrontPic_Eevee), - STILL_FRONT_PIC(VAPOREON, gMonStillFrontPic_Vaporeon), - STILL_FRONT_PIC(JOLTEON, gMonStillFrontPic_Jolteon), - STILL_FRONT_PIC(FLAREON, gMonStillFrontPic_Flareon), - STILL_FRONT_PIC(PORYGON, gMonStillFrontPic_Porygon), - STILL_FRONT_PIC(OMANYTE, gMonStillFrontPic_Omanyte), - STILL_FRONT_PIC(OMASTAR, gMonStillFrontPic_Omastar), - STILL_FRONT_PIC(KABUTO, gMonStillFrontPic_Kabuto), - STILL_FRONT_PIC(KABUTOPS, gMonStillFrontPic_Kabutops), - STILL_FRONT_PIC(AERODACTYL, gMonStillFrontPic_Aerodactyl), - STILL_FRONT_PIC(SNORLAX, gMonStillFrontPic_Snorlax), - STILL_FRONT_PIC(ARTICUNO, gMonStillFrontPic_Articuno), - STILL_FRONT_PIC(ZAPDOS, gMonStillFrontPic_Zapdos), - STILL_FRONT_PIC(MOLTRES, gMonStillFrontPic_Moltres), - STILL_FRONT_PIC(DRATINI, gMonStillFrontPic_Dratini), - STILL_FRONT_PIC(DRAGONAIR, gMonStillFrontPic_Dragonair), - STILL_FRONT_PIC(DRAGONITE, gMonStillFrontPic_Dragonite), - STILL_FRONT_PIC(MEWTWO, gMonStillFrontPic_Mewtwo), - STILL_FRONT_PIC(MEW, gMonStillFrontPic_Mew), + SPECIES_SPRITE(NONE, gMonStillFrontPic_CircledQuestionMark), + SPECIES_SPRITE(BULBASAUR, gMonStillFrontPic_Bulbasaur), + SPECIES_SPRITE(IVYSAUR, gMonStillFrontPic_Ivysaur), + SPECIES_SPRITE(VENUSAUR, gMonStillFrontPic_Venusaur), + SPECIES_SPRITE(CHARMANDER, gMonStillFrontPic_Charmander), + SPECIES_SPRITE(CHARMELEON, gMonStillFrontPic_Charmeleon), + SPECIES_SPRITE(CHARIZARD, gMonStillFrontPic_Charizard), + SPECIES_SPRITE(SQUIRTLE, gMonStillFrontPic_Squirtle), + SPECIES_SPRITE(WARTORTLE, gMonStillFrontPic_Wartortle), + SPECIES_SPRITE(BLASTOISE, gMonStillFrontPic_Blastoise), + SPECIES_SPRITE(CATERPIE, gMonStillFrontPic_Caterpie), + SPECIES_SPRITE(METAPOD, gMonStillFrontPic_Metapod), + SPECIES_SPRITE(BUTTERFREE, gMonStillFrontPic_Butterfree), + SPECIES_SPRITE(WEEDLE, gMonStillFrontPic_Weedle), + SPECIES_SPRITE(KAKUNA, gMonStillFrontPic_Kakuna), + SPECIES_SPRITE(BEEDRILL, gMonStillFrontPic_Beedrill), + SPECIES_SPRITE(PIDGEY, gMonStillFrontPic_Pidgey), + SPECIES_SPRITE(PIDGEOTTO, gMonStillFrontPic_Pidgeotto), + SPECIES_SPRITE(PIDGEOT, gMonStillFrontPic_Pidgeot), + SPECIES_SPRITE(RATTATA, gMonStillFrontPic_Rattata), + SPECIES_SPRITE(RATICATE, gMonStillFrontPic_Raticate), + SPECIES_SPRITE(SPEAROW, gMonStillFrontPic_Spearow), + SPECIES_SPRITE(FEAROW, gMonStillFrontPic_Fearow), + SPECIES_SPRITE(EKANS, gMonStillFrontPic_Ekans), + SPECIES_SPRITE(ARBOK, gMonStillFrontPic_Arbok), + SPECIES_SPRITE(PIKACHU, gMonStillFrontPic_Pikachu), + SPECIES_SPRITE(RAICHU, gMonStillFrontPic_Raichu), + SPECIES_SPRITE(SANDSHREW, gMonStillFrontPic_Sandshrew), + SPECIES_SPRITE(SANDSLASH, gMonStillFrontPic_Sandslash), + SPECIES_SPRITE(NIDORAN_F, gMonStillFrontPic_NidoranF), + SPECIES_SPRITE(NIDORINA, gMonStillFrontPic_Nidorina), + SPECIES_SPRITE(NIDOQUEEN, gMonStillFrontPic_Nidoqueen), + SPECIES_SPRITE(NIDORAN_M, gMonStillFrontPic_NidoranM), + SPECIES_SPRITE(NIDORINO, gMonStillFrontPic_Nidorino), + SPECIES_SPRITE(NIDOKING, gMonStillFrontPic_Nidoking), + SPECIES_SPRITE(CLEFAIRY, gMonStillFrontPic_Clefairy), + SPECIES_SPRITE(CLEFABLE, gMonStillFrontPic_Clefable), + SPECIES_SPRITE(VULPIX, gMonStillFrontPic_Vulpix), + SPECIES_SPRITE(NINETALES, gMonStillFrontPic_Ninetales), + SPECIES_SPRITE(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff), + SPECIES_SPRITE(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff), + SPECIES_SPRITE(ZUBAT, gMonStillFrontPic_Zubat), + SPECIES_SPRITE(GOLBAT, gMonStillFrontPic_Golbat), + SPECIES_SPRITE(ODDISH, gMonStillFrontPic_Oddish), + SPECIES_SPRITE(GLOOM, gMonStillFrontPic_Gloom), + SPECIES_SPRITE(VILEPLUME, gMonStillFrontPic_Vileplume), + SPECIES_SPRITE(PARAS, gMonStillFrontPic_Paras), + SPECIES_SPRITE(PARASECT, gMonStillFrontPic_Parasect), + SPECIES_SPRITE(VENONAT, gMonStillFrontPic_Venonat), + SPECIES_SPRITE(VENOMOTH, gMonStillFrontPic_Venomoth), + SPECIES_SPRITE(DIGLETT, gMonStillFrontPic_Diglett), + SPECIES_SPRITE(DUGTRIO, gMonStillFrontPic_Dugtrio), + SPECIES_SPRITE(MEOWTH, gMonStillFrontPic_Meowth), + SPECIES_SPRITE(PERSIAN, gMonStillFrontPic_Persian), + SPECIES_SPRITE(PSYDUCK, gMonStillFrontPic_Psyduck), + SPECIES_SPRITE(GOLDUCK, gMonStillFrontPic_Golduck), + SPECIES_SPRITE(MANKEY, gMonStillFrontPic_Mankey), + SPECIES_SPRITE(PRIMEAPE, gMonStillFrontPic_Primeape), + SPECIES_SPRITE(GROWLITHE, gMonStillFrontPic_Growlithe), + SPECIES_SPRITE(ARCANINE, gMonStillFrontPic_Arcanine), + SPECIES_SPRITE(POLIWAG, gMonStillFrontPic_Poliwag), + SPECIES_SPRITE(POLIWHIRL, gMonStillFrontPic_Poliwhirl), + SPECIES_SPRITE(POLIWRATH, gMonStillFrontPic_Poliwrath), + SPECIES_SPRITE(ABRA, gMonStillFrontPic_Abra), + SPECIES_SPRITE(KADABRA, gMonStillFrontPic_Kadabra), + SPECIES_SPRITE(ALAKAZAM, gMonStillFrontPic_Alakazam), + SPECIES_SPRITE(MACHOP, gMonStillFrontPic_Machop), + SPECIES_SPRITE(MACHOKE, gMonStillFrontPic_Machoke), + SPECIES_SPRITE(MACHAMP, gMonStillFrontPic_Machamp), + SPECIES_SPRITE(BELLSPROUT, gMonStillFrontPic_Bellsprout), + SPECIES_SPRITE(WEEPINBELL, gMonStillFrontPic_Weepinbell), + SPECIES_SPRITE(VICTREEBEL, gMonStillFrontPic_Victreebel), + SPECIES_SPRITE(TENTACOOL, gMonStillFrontPic_Tentacool), + SPECIES_SPRITE(TENTACRUEL, gMonStillFrontPic_Tentacruel), + SPECIES_SPRITE(GEODUDE, gMonStillFrontPic_Geodude), + SPECIES_SPRITE(GRAVELER, gMonStillFrontPic_Graveler), + SPECIES_SPRITE(GOLEM, gMonStillFrontPic_Golem), + SPECIES_SPRITE(PONYTA, gMonStillFrontPic_Ponyta), + SPECIES_SPRITE(RAPIDASH, gMonStillFrontPic_Rapidash), + SPECIES_SPRITE(SLOWPOKE, gMonStillFrontPic_Slowpoke), + SPECIES_SPRITE(SLOWBRO, gMonStillFrontPic_Slowbro), + SPECIES_SPRITE(MAGNEMITE, gMonStillFrontPic_Magnemite), + SPECIES_SPRITE(MAGNETON, gMonStillFrontPic_Magneton), + SPECIES_SPRITE(FARFETCHD, gMonStillFrontPic_Farfetchd), + SPECIES_SPRITE(DODUO, gMonStillFrontPic_Doduo), + SPECIES_SPRITE(DODRIO, gMonStillFrontPic_Dodrio), + SPECIES_SPRITE(SEEL, gMonStillFrontPic_Seel), + SPECIES_SPRITE(DEWGONG, gMonStillFrontPic_Dewgong), + SPECIES_SPRITE(GRIMER, gMonStillFrontPic_Grimer), + SPECIES_SPRITE(MUK, gMonStillFrontPic_Muk), + SPECIES_SPRITE(SHELLDER, gMonStillFrontPic_Shellder), + SPECIES_SPRITE(CLOYSTER, gMonStillFrontPic_Cloyster), + SPECIES_SPRITE(GASTLY, gMonStillFrontPic_Gastly), + SPECIES_SPRITE(HAUNTER, gMonStillFrontPic_Haunter), + SPECIES_SPRITE(GENGAR, gMonStillFrontPic_Gengar), + SPECIES_SPRITE(ONIX, gMonStillFrontPic_Onix), + SPECIES_SPRITE(DROWZEE, gMonStillFrontPic_Drowzee), + SPECIES_SPRITE(HYPNO, gMonStillFrontPic_Hypno), + SPECIES_SPRITE(KRABBY, gMonStillFrontPic_Krabby), + SPECIES_SPRITE(KINGLER, gMonStillFrontPic_Kingler), + SPECIES_SPRITE(VOLTORB, gMonStillFrontPic_Voltorb), + SPECIES_SPRITE(ELECTRODE, gMonStillFrontPic_Electrode), + SPECIES_SPRITE(EXEGGCUTE, gMonStillFrontPic_Exeggcute), + SPECIES_SPRITE(EXEGGUTOR, gMonStillFrontPic_Exeggutor), + SPECIES_SPRITE(CUBONE, gMonStillFrontPic_Cubone), + SPECIES_SPRITE(MAROWAK, gMonStillFrontPic_Marowak), + SPECIES_SPRITE(HITMONLEE, gMonStillFrontPic_Hitmonlee), + SPECIES_SPRITE(HITMONCHAN, gMonStillFrontPic_Hitmonchan), + SPECIES_SPRITE(LICKITUNG, gMonStillFrontPic_Lickitung), + SPECIES_SPRITE(KOFFING, gMonStillFrontPic_Koffing), + SPECIES_SPRITE(WEEZING, gMonStillFrontPic_Weezing), + SPECIES_SPRITE(RHYHORN, gMonStillFrontPic_Rhyhorn), + SPECIES_SPRITE(RHYDON, gMonStillFrontPic_Rhydon), + SPECIES_SPRITE(CHANSEY, gMonStillFrontPic_Chansey), + SPECIES_SPRITE(TANGELA, gMonStillFrontPic_Tangela), + SPECIES_SPRITE(KANGASKHAN, gMonStillFrontPic_Kangaskhan), + SPECIES_SPRITE(HORSEA, gMonStillFrontPic_Horsea), + SPECIES_SPRITE(SEADRA, gMonStillFrontPic_Seadra), + SPECIES_SPRITE(GOLDEEN, gMonStillFrontPic_Goldeen), + SPECIES_SPRITE(SEAKING, gMonStillFrontPic_Seaking), + SPECIES_SPRITE(STARYU, gMonStillFrontPic_Staryu), + SPECIES_SPRITE(STARMIE, gMonStillFrontPic_Starmie), + SPECIES_SPRITE(MR_MIME, gMonStillFrontPic_Mrmime), + SPECIES_SPRITE(SCYTHER, gMonStillFrontPic_Scyther), + SPECIES_SPRITE(JYNX, gMonStillFrontPic_Jynx), + SPECIES_SPRITE(ELECTABUZZ, gMonStillFrontPic_Electabuzz), + SPECIES_SPRITE(MAGMAR, gMonStillFrontPic_Magmar), + SPECIES_SPRITE(PINSIR, gMonStillFrontPic_Pinsir), + SPECIES_SPRITE(TAUROS, gMonStillFrontPic_Tauros), + SPECIES_SPRITE(MAGIKARP, gMonStillFrontPic_Magikarp), + SPECIES_SPRITE(GYARADOS, gMonStillFrontPic_Gyarados), + SPECIES_SPRITE(LAPRAS, gMonStillFrontPic_Lapras), + SPECIES_SPRITE(DITTO, gMonStillFrontPic_Ditto), + SPECIES_SPRITE(EEVEE, gMonStillFrontPic_Eevee), + SPECIES_SPRITE(VAPOREON, gMonStillFrontPic_Vaporeon), + SPECIES_SPRITE(JOLTEON, gMonStillFrontPic_Jolteon), + SPECIES_SPRITE(FLAREON, gMonStillFrontPic_Flareon), + SPECIES_SPRITE(PORYGON, gMonStillFrontPic_Porygon), + SPECIES_SPRITE(OMANYTE, gMonStillFrontPic_Omanyte), + SPECIES_SPRITE(OMASTAR, gMonStillFrontPic_Omastar), + SPECIES_SPRITE(KABUTO, gMonStillFrontPic_Kabuto), + SPECIES_SPRITE(KABUTOPS, gMonStillFrontPic_Kabutops), + SPECIES_SPRITE(AERODACTYL, gMonStillFrontPic_Aerodactyl), + SPECIES_SPRITE(SNORLAX, gMonStillFrontPic_Snorlax), + SPECIES_SPRITE(ARTICUNO, gMonStillFrontPic_Articuno), + SPECIES_SPRITE(ZAPDOS, gMonStillFrontPic_Zapdos), + SPECIES_SPRITE(MOLTRES, gMonStillFrontPic_Moltres), + SPECIES_SPRITE(DRATINI, gMonStillFrontPic_Dratini), + SPECIES_SPRITE(DRAGONAIR, gMonStillFrontPic_Dragonair), + SPECIES_SPRITE(DRAGONITE, gMonStillFrontPic_Dragonite), + SPECIES_SPRITE(MEWTWO, gMonStillFrontPic_Mewtwo), + SPECIES_SPRITE(MEW, gMonStillFrontPic_Mew), // Gen II - STILL_FRONT_PIC(CHIKORITA, gMonStillFrontPic_Chikorita), - STILL_FRONT_PIC(BAYLEEF, gMonStillFrontPic_Bayleef), - STILL_FRONT_PIC(MEGANIUM, gMonStillFrontPic_Meganium), - STILL_FRONT_PIC(CYNDAQUIL, gMonStillFrontPic_Cyndaquil), - STILL_FRONT_PIC(QUILAVA, gMonStillFrontPic_Quilava), - STILL_FRONT_PIC(TYPHLOSION, gMonStillFrontPic_Typhlosion), - STILL_FRONT_PIC(TOTODILE, gMonStillFrontPic_Totodile), - STILL_FRONT_PIC(CROCONAW, gMonStillFrontPic_Croconaw), - STILL_FRONT_PIC(FERALIGATR, gMonStillFrontPic_Feraligatr), - STILL_FRONT_PIC(SENTRET, gMonStillFrontPic_Sentret), - STILL_FRONT_PIC(FURRET, gMonStillFrontPic_Furret), - STILL_FRONT_PIC(HOOTHOOT, gMonStillFrontPic_Hoothoot), - STILL_FRONT_PIC(NOCTOWL, gMonStillFrontPic_Noctowl), - STILL_FRONT_PIC(LEDYBA, gMonStillFrontPic_Ledyba), - STILL_FRONT_PIC(LEDIAN, gMonStillFrontPic_Ledian), - STILL_FRONT_PIC(SPINARAK, gMonStillFrontPic_Spinarak), - STILL_FRONT_PIC(ARIADOS, gMonStillFrontPic_Ariados), - STILL_FRONT_PIC(CROBAT, gMonStillFrontPic_Crobat), - STILL_FRONT_PIC(CHINCHOU, gMonStillFrontPic_Chinchou), - STILL_FRONT_PIC(LANTURN, gMonStillFrontPic_Lanturn), - STILL_FRONT_PIC(PICHU, gMonStillFrontPic_Pichu), - STILL_FRONT_PIC(CLEFFA, gMonStillFrontPic_Cleffa), - STILL_FRONT_PIC(IGGLYBUFF, gMonStillFrontPic_Igglybuff), - STILL_FRONT_PIC(TOGEPI, gMonStillFrontPic_Togepi), - STILL_FRONT_PIC(TOGETIC, gMonStillFrontPic_Togetic), - STILL_FRONT_PIC(NATU, gMonStillFrontPic_Natu), - STILL_FRONT_PIC(XATU, gMonStillFrontPic_Xatu), - STILL_FRONT_PIC(MAREEP, gMonStillFrontPic_Mareep), - STILL_FRONT_PIC(FLAAFFY, gMonStillFrontPic_Flaaffy), - STILL_FRONT_PIC(AMPHAROS, gMonStillFrontPic_Ampharos), - STILL_FRONT_PIC(BELLOSSOM, gMonStillFrontPic_Bellossom), - STILL_FRONT_PIC(MARILL, gMonStillFrontPic_Marill), - STILL_FRONT_PIC(AZUMARILL, gMonStillFrontPic_Azumarill), - STILL_FRONT_PIC(SUDOWOODO, gMonStillFrontPic_Sudowoodo), - STILL_FRONT_PIC(POLITOED, gMonStillFrontPic_Politoed), - STILL_FRONT_PIC(HOPPIP, gMonStillFrontPic_Hoppip), - STILL_FRONT_PIC(SKIPLOOM, gMonStillFrontPic_Skiploom), - STILL_FRONT_PIC(JUMPLUFF, gMonStillFrontPic_Jumpluff), - STILL_FRONT_PIC(AIPOM, gMonStillFrontPic_Aipom), - STILL_FRONT_PIC(SUNKERN, gMonStillFrontPic_Sunkern), - STILL_FRONT_PIC(SUNFLORA, gMonStillFrontPic_Sunflora), - STILL_FRONT_PIC(YANMA, gMonStillFrontPic_Yanma), - STILL_FRONT_PIC(WOOPER, gMonStillFrontPic_Wooper), - STILL_FRONT_PIC(QUAGSIRE, gMonStillFrontPic_Quagsire), - STILL_FRONT_PIC(ESPEON, gMonStillFrontPic_Espeon), - STILL_FRONT_PIC(UMBREON, gMonStillFrontPic_Umbreon), - STILL_FRONT_PIC(MURKROW, gMonStillFrontPic_Murkrow), - STILL_FRONT_PIC(SLOWKING, gMonStillFrontPic_Slowking), - STILL_FRONT_PIC(MISDREAVUS, gMonStillFrontPic_Misdreavus), - STILL_FRONT_PIC(UNOWN, gMonStillFrontPic_UnownA), - STILL_FRONT_PIC(WOBBUFFET, gMonStillFrontPic_Wobbuffet), - STILL_FRONT_PIC(GIRAFARIG, gMonStillFrontPic_Girafarig), - STILL_FRONT_PIC(PINECO, gMonStillFrontPic_Pineco), - STILL_FRONT_PIC(FORRETRESS, gMonStillFrontPic_Forretress), - STILL_FRONT_PIC(DUNSPARCE, gMonStillFrontPic_Dunsparce), - STILL_FRONT_PIC(GLIGAR, gMonStillFrontPic_Gligar), - STILL_FRONT_PIC(STEELIX, gMonStillFrontPic_Steelix), - STILL_FRONT_PIC(SNUBBULL, gMonStillFrontPic_Snubbull), - STILL_FRONT_PIC(GRANBULL, gMonStillFrontPic_Granbull), - STILL_FRONT_PIC(QWILFISH, gMonStillFrontPic_Qwilfish), - STILL_FRONT_PIC(SCIZOR, gMonStillFrontPic_Scizor), - STILL_FRONT_PIC(SHUCKLE, gMonStillFrontPic_Shuckle), - STILL_FRONT_PIC(HERACROSS, gMonStillFrontPic_Heracross), - STILL_FRONT_PIC(SNEASEL, gMonStillFrontPic_Sneasel), - STILL_FRONT_PIC(TEDDIURSA, gMonStillFrontPic_Teddiursa), - STILL_FRONT_PIC(URSARING, gMonStillFrontPic_Ursaring), - STILL_FRONT_PIC(SLUGMA, gMonStillFrontPic_Slugma), - STILL_FRONT_PIC(MAGCARGO, gMonStillFrontPic_Magcargo), - STILL_FRONT_PIC(SWINUB, gMonStillFrontPic_Swinub), - STILL_FRONT_PIC(PILOSWINE, gMonStillFrontPic_Piloswine), - STILL_FRONT_PIC(CORSOLA, gMonStillFrontPic_Corsola), - STILL_FRONT_PIC(REMORAID, gMonStillFrontPic_Remoraid), - STILL_FRONT_PIC(OCTILLERY, gMonStillFrontPic_Octillery), - STILL_FRONT_PIC(DELIBIRD, gMonStillFrontPic_Delibird), - STILL_FRONT_PIC(MANTINE, gMonStillFrontPic_Mantine), - STILL_FRONT_PIC(SKARMORY, gMonStillFrontPic_Skarmory), - STILL_FRONT_PIC(HOUNDOUR, gMonStillFrontPic_Houndour), - STILL_FRONT_PIC(HOUNDOOM, gMonStillFrontPic_Houndoom), - STILL_FRONT_PIC(KINGDRA, gMonStillFrontPic_Kingdra), - STILL_FRONT_PIC(PHANPY, gMonStillFrontPic_Phanpy), - STILL_FRONT_PIC(DONPHAN, gMonStillFrontPic_Donphan), - STILL_FRONT_PIC(PORYGON2, gMonStillFrontPic_Porygon2), - STILL_FRONT_PIC(STANTLER, gMonStillFrontPic_Stantler), - STILL_FRONT_PIC(SMEARGLE, gMonStillFrontPic_Smeargle), - STILL_FRONT_PIC(TYROGUE, gMonStillFrontPic_Tyrogue), - STILL_FRONT_PIC(HITMONTOP, gMonStillFrontPic_Hitmontop), - STILL_FRONT_PIC(SMOOCHUM, gMonStillFrontPic_Smoochum), - STILL_FRONT_PIC(ELEKID, gMonStillFrontPic_Elekid), - STILL_FRONT_PIC(MAGBY, gMonStillFrontPic_Magby), - STILL_FRONT_PIC(MILTANK, gMonStillFrontPic_Miltank), - STILL_FRONT_PIC(BLISSEY, gMonStillFrontPic_Blissey), - STILL_FRONT_PIC(RAIKOU, gMonStillFrontPic_Raikou), - STILL_FRONT_PIC(ENTEI, gMonStillFrontPic_Entei), - STILL_FRONT_PIC(SUICUNE, gMonStillFrontPic_Suicune), - STILL_FRONT_PIC(LARVITAR, gMonStillFrontPic_Larvitar), - STILL_FRONT_PIC(PUPITAR, gMonStillFrontPic_Pupitar), - STILL_FRONT_PIC(TYRANITAR, gMonStillFrontPic_Tyranitar), - STILL_FRONT_PIC(LUGIA, gMonStillFrontPic_Lugia), - STILL_FRONT_PIC(HO_OH, gMonStillFrontPic_HoOh), - STILL_FRONT_PIC(CELEBI, gMonStillFrontPic_Celebi), + SPECIES_SPRITE(CHIKORITA, gMonStillFrontPic_Chikorita), + SPECIES_SPRITE(BAYLEEF, gMonStillFrontPic_Bayleef), + SPECIES_SPRITE(MEGANIUM, gMonStillFrontPic_Meganium), + SPECIES_SPRITE(CYNDAQUIL, gMonStillFrontPic_Cyndaquil), + SPECIES_SPRITE(QUILAVA, gMonStillFrontPic_Quilava), + SPECIES_SPRITE(TYPHLOSION, gMonStillFrontPic_Typhlosion), + SPECIES_SPRITE(TOTODILE, gMonStillFrontPic_Totodile), + SPECIES_SPRITE(CROCONAW, gMonStillFrontPic_Croconaw), + SPECIES_SPRITE(FERALIGATR, gMonStillFrontPic_Feraligatr), + SPECIES_SPRITE(SENTRET, gMonStillFrontPic_Sentret), + SPECIES_SPRITE(FURRET, gMonStillFrontPic_Furret), + SPECIES_SPRITE(HOOTHOOT, gMonStillFrontPic_Hoothoot), + SPECIES_SPRITE(NOCTOWL, gMonStillFrontPic_Noctowl), + SPECIES_SPRITE(LEDYBA, gMonStillFrontPic_Ledyba), + SPECIES_SPRITE(LEDIAN, gMonStillFrontPic_Ledian), + SPECIES_SPRITE(SPINARAK, gMonStillFrontPic_Spinarak), + SPECIES_SPRITE(ARIADOS, gMonStillFrontPic_Ariados), + SPECIES_SPRITE(CROBAT, gMonStillFrontPic_Crobat), + SPECIES_SPRITE(CHINCHOU, gMonStillFrontPic_Chinchou), + SPECIES_SPRITE(LANTURN, gMonStillFrontPic_Lanturn), + SPECIES_SPRITE(PICHU, gMonStillFrontPic_Pichu), + SPECIES_SPRITE(CLEFFA, gMonStillFrontPic_Cleffa), + SPECIES_SPRITE(IGGLYBUFF, gMonStillFrontPic_Igglybuff), + SPECIES_SPRITE(TOGEPI, gMonStillFrontPic_Togepi), + SPECIES_SPRITE(TOGETIC, gMonStillFrontPic_Togetic), + SPECIES_SPRITE(NATU, gMonStillFrontPic_Natu), + SPECIES_SPRITE(XATU, gMonStillFrontPic_Xatu), + SPECIES_SPRITE(MAREEP, gMonStillFrontPic_Mareep), + SPECIES_SPRITE(FLAAFFY, gMonStillFrontPic_Flaaffy), + SPECIES_SPRITE(AMPHAROS, gMonStillFrontPic_Ampharos), + SPECIES_SPRITE(BELLOSSOM, gMonStillFrontPic_Bellossom), + SPECIES_SPRITE(MARILL, gMonStillFrontPic_Marill), + SPECIES_SPRITE(AZUMARILL, gMonStillFrontPic_Azumarill), + SPECIES_SPRITE(SUDOWOODO, gMonStillFrontPic_Sudowoodo), + SPECIES_SPRITE(POLITOED, gMonStillFrontPic_Politoed), + SPECIES_SPRITE(HOPPIP, gMonStillFrontPic_Hoppip), + SPECIES_SPRITE(SKIPLOOM, gMonStillFrontPic_Skiploom), + SPECIES_SPRITE(JUMPLUFF, gMonStillFrontPic_Jumpluff), + SPECIES_SPRITE(AIPOM, gMonStillFrontPic_Aipom), + SPECIES_SPRITE(SUNKERN, gMonStillFrontPic_Sunkern), + SPECIES_SPRITE(SUNFLORA, gMonStillFrontPic_Sunflora), + SPECIES_SPRITE(YANMA, gMonStillFrontPic_Yanma), + SPECIES_SPRITE(WOOPER, gMonStillFrontPic_Wooper), + SPECIES_SPRITE(QUAGSIRE, gMonStillFrontPic_Quagsire), + SPECIES_SPRITE(ESPEON, gMonStillFrontPic_Espeon), + SPECIES_SPRITE(UMBREON, gMonStillFrontPic_Umbreon), + SPECIES_SPRITE(MURKROW, gMonStillFrontPic_Murkrow), + SPECIES_SPRITE(SLOWKING, gMonStillFrontPic_Slowking), + SPECIES_SPRITE(MISDREAVUS, gMonStillFrontPic_Misdreavus), + SPECIES_SPRITE(UNOWN, gMonStillFrontPic_UnownA), + SPECIES_SPRITE(WOBBUFFET, gMonStillFrontPic_Wobbuffet), + SPECIES_SPRITE(GIRAFARIG, gMonStillFrontPic_Girafarig), + SPECIES_SPRITE(PINECO, gMonStillFrontPic_Pineco), + SPECIES_SPRITE(FORRETRESS, gMonStillFrontPic_Forretress), + SPECIES_SPRITE(DUNSPARCE, gMonStillFrontPic_Dunsparce), + SPECIES_SPRITE(GLIGAR, gMonStillFrontPic_Gligar), + SPECIES_SPRITE(STEELIX, gMonStillFrontPic_Steelix), + SPECIES_SPRITE(SNUBBULL, gMonStillFrontPic_Snubbull), + SPECIES_SPRITE(GRANBULL, gMonStillFrontPic_Granbull), + SPECIES_SPRITE(QWILFISH, gMonStillFrontPic_Qwilfish), + SPECIES_SPRITE(SCIZOR, gMonStillFrontPic_Scizor), + SPECIES_SPRITE(SHUCKLE, gMonStillFrontPic_Shuckle), + SPECIES_SPRITE(HERACROSS, gMonStillFrontPic_Heracross), + SPECIES_SPRITE(SNEASEL, gMonStillFrontPic_Sneasel), + SPECIES_SPRITE(TEDDIURSA, gMonStillFrontPic_Teddiursa), + SPECIES_SPRITE(URSARING, gMonStillFrontPic_Ursaring), + SPECIES_SPRITE(SLUGMA, gMonStillFrontPic_Slugma), + SPECIES_SPRITE(MAGCARGO, gMonStillFrontPic_Magcargo), + SPECIES_SPRITE(SWINUB, gMonStillFrontPic_Swinub), + SPECIES_SPRITE(PILOSWINE, gMonStillFrontPic_Piloswine), + SPECIES_SPRITE(CORSOLA, gMonStillFrontPic_Corsola), + SPECIES_SPRITE(REMORAID, gMonStillFrontPic_Remoraid), + SPECIES_SPRITE(OCTILLERY, gMonStillFrontPic_Octillery), + SPECIES_SPRITE(DELIBIRD, gMonStillFrontPic_Delibird), + SPECIES_SPRITE(MANTINE, gMonStillFrontPic_Mantine), + SPECIES_SPRITE(SKARMORY, gMonStillFrontPic_Skarmory), + SPECIES_SPRITE(HOUNDOUR, gMonStillFrontPic_Houndour), + SPECIES_SPRITE(HOUNDOOM, gMonStillFrontPic_Houndoom), + SPECIES_SPRITE(KINGDRA, gMonStillFrontPic_Kingdra), + SPECIES_SPRITE(PHANPY, gMonStillFrontPic_Phanpy), + SPECIES_SPRITE(DONPHAN, gMonStillFrontPic_Donphan), + SPECIES_SPRITE(PORYGON2, gMonStillFrontPic_Porygon2), + SPECIES_SPRITE(STANTLER, gMonStillFrontPic_Stantler), + SPECIES_SPRITE(SMEARGLE, gMonStillFrontPic_Smeargle), + SPECIES_SPRITE(TYROGUE, gMonStillFrontPic_Tyrogue), + SPECIES_SPRITE(HITMONTOP, gMonStillFrontPic_Hitmontop), + SPECIES_SPRITE(SMOOCHUM, gMonStillFrontPic_Smoochum), + SPECIES_SPRITE(ELEKID, gMonStillFrontPic_Elekid), + SPECIES_SPRITE(MAGBY, gMonStillFrontPic_Magby), + SPECIES_SPRITE(MILTANK, gMonStillFrontPic_Miltank), + SPECIES_SPRITE(BLISSEY, gMonStillFrontPic_Blissey), + SPECIES_SPRITE(RAIKOU, gMonStillFrontPic_Raikou), + SPECIES_SPRITE(ENTEI, gMonStillFrontPic_Entei), + SPECIES_SPRITE(SUICUNE, gMonStillFrontPic_Suicune), + SPECIES_SPRITE(LARVITAR, gMonStillFrontPic_Larvitar), + SPECIES_SPRITE(PUPITAR, gMonStillFrontPic_Pupitar), + SPECIES_SPRITE(TYRANITAR, gMonStillFrontPic_Tyranitar), + SPECIES_SPRITE(LUGIA, gMonStillFrontPic_Lugia), + SPECIES_SPRITE(HO_OH, gMonStillFrontPic_HoOh), + SPECIES_SPRITE(CELEBI, gMonStillFrontPic_Celebi), // Empty slots - STILL_FRONT_PIC(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark), - STILL_FRONT_PIC(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark), + SPECIES_SPRITE(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark), // Gen III - STILL_FRONT_PIC(TREECKO, gMonStillFrontPic_Treecko), - STILL_FRONT_PIC(GROVYLE, gMonStillFrontPic_Grovyle), - STILL_FRONT_PIC(SCEPTILE, gMonStillFrontPic_Sceptile), - STILL_FRONT_PIC(TORCHIC, gMonStillFrontPic_Torchic), - STILL_FRONT_PIC(COMBUSKEN, gMonStillFrontPic_Combusken), - STILL_FRONT_PIC(BLAZIKEN, gMonStillFrontPic_Blaziken), - STILL_FRONT_PIC(MUDKIP, gMonStillFrontPic_Mudkip), - STILL_FRONT_PIC(MARSHTOMP, gMonStillFrontPic_Marshtomp), - STILL_FRONT_PIC(SWAMPERT, gMonStillFrontPic_Swampert), - STILL_FRONT_PIC(POOCHYENA, gMonStillFrontPic_Poochyena), - STILL_FRONT_PIC(MIGHTYENA, gMonStillFrontPic_Mightyena), - STILL_FRONT_PIC(ZIGZAGOON, gMonStillFrontPic_Zigzagoon), - STILL_FRONT_PIC(LINOONE, gMonStillFrontPic_Linoone), - STILL_FRONT_PIC(WURMPLE, gMonStillFrontPic_Wurmple), - STILL_FRONT_PIC(SILCOON, gMonStillFrontPic_Silcoon), - STILL_FRONT_PIC(BEAUTIFLY, gMonStillFrontPic_Beautifly), - STILL_FRONT_PIC(CASCOON, gMonStillFrontPic_Cascoon), - STILL_FRONT_PIC(DUSTOX, gMonStillFrontPic_Dustox), - STILL_FRONT_PIC(LOTAD, gMonStillFrontPic_Lotad), - STILL_FRONT_PIC(LOMBRE, gMonStillFrontPic_Lombre), - STILL_FRONT_PIC(LUDICOLO, gMonStillFrontPic_Ludicolo), - STILL_FRONT_PIC(SEEDOT, gMonStillFrontPic_Seedot), - STILL_FRONT_PIC(NUZLEAF, gMonStillFrontPic_Nuzleaf), - STILL_FRONT_PIC(SHIFTRY, gMonStillFrontPic_Shiftry), - STILL_FRONT_PIC(NINCADA, gMonStillFrontPic_Nincada), - STILL_FRONT_PIC(NINJASK, gMonStillFrontPic_Ninjask), - STILL_FRONT_PIC(SHEDINJA, gMonStillFrontPic_Shedinja), - STILL_FRONT_PIC(TAILLOW, gMonStillFrontPic_Taillow), - STILL_FRONT_PIC(SWELLOW, gMonStillFrontPic_Swellow), - STILL_FRONT_PIC(SHROOMISH, gMonStillFrontPic_Shroomish), - STILL_FRONT_PIC(BRELOOM, gMonStillFrontPic_Breloom), - STILL_FRONT_PIC(SPINDA, gMonStillFrontPic_Spinda), - STILL_FRONT_PIC(WINGULL, gMonStillFrontPic_Wingull), - STILL_FRONT_PIC(PELIPPER, gMonStillFrontPic_Pelipper), - STILL_FRONT_PIC(SURSKIT, gMonStillFrontPic_Surskit), - STILL_FRONT_PIC(MASQUERAIN, gMonStillFrontPic_Masquerain), - STILL_FRONT_PIC(WAILMER, gMonStillFrontPic_Wailmer), - STILL_FRONT_PIC(WAILORD, gMonStillFrontPic_Wailord), - STILL_FRONT_PIC(SKITTY, gMonStillFrontPic_Skitty), - STILL_FRONT_PIC(DELCATTY, gMonStillFrontPic_Delcatty), - STILL_FRONT_PIC(KECLEON, gMonStillFrontPic_Kecleon), - STILL_FRONT_PIC(BALTOY, gMonStillFrontPic_Baltoy), - STILL_FRONT_PIC(CLAYDOL, gMonStillFrontPic_Claydol), - STILL_FRONT_PIC(NOSEPASS, gMonStillFrontPic_Nosepass), - STILL_FRONT_PIC(TORKOAL, gMonStillFrontPic_Torkoal), - STILL_FRONT_PIC(SABLEYE, gMonStillFrontPic_Sableye), - STILL_FRONT_PIC(BARBOACH, gMonStillFrontPic_Barboach), - STILL_FRONT_PIC(WHISCASH, gMonStillFrontPic_Whiscash), - STILL_FRONT_PIC(LUVDISC, gMonStillFrontPic_Luvdisc), - STILL_FRONT_PIC(CORPHISH, gMonStillFrontPic_Corphish), - STILL_FRONT_PIC(CRAWDAUNT, gMonStillFrontPic_Crawdaunt), - STILL_FRONT_PIC(FEEBAS, gMonStillFrontPic_Feebas), - STILL_FRONT_PIC(MILOTIC, gMonStillFrontPic_Milotic), - STILL_FRONT_PIC(CARVANHA, gMonStillFrontPic_Carvanha), - STILL_FRONT_PIC(SHARPEDO, gMonStillFrontPic_Sharpedo), - STILL_FRONT_PIC(TRAPINCH, gMonStillFrontPic_Trapinch), - STILL_FRONT_PIC(VIBRAVA, gMonStillFrontPic_Vibrava), - STILL_FRONT_PIC(FLYGON, gMonStillFrontPic_Flygon), - STILL_FRONT_PIC(MAKUHITA, gMonStillFrontPic_Makuhita), - STILL_FRONT_PIC(HARIYAMA, gMonStillFrontPic_Hariyama), - STILL_FRONT_PIC(ELECTRIKE, gMonStillFrontPic_Electrike), - STILL_FRONT_PIC(MANECTRIC, gMonStillFrontPic_Manectric), - STILL_FRONT_PIC(NUMEL, gMonStillFrontPic_Numel), - STILL_FRONT_PIC(CAMERUPT, gMonStillFrontPic_Camerupt), - STILL_FRONT_PIC(SPHEAL, gMonStillFrontPic_Spheal), - STILL_FRONT_PIC(SEALEO, gMonStillFrontPic_Sealeo), - STILL_FRONT_PIC(WALREIN, gMonStillFrontPic_Walrein), - STILL_FRONT_PIC(CACNEA, gMonStillFrontPic_Cacnea), - STILL_FRONT_PIC(CACTURNE, gMonStillFrontPic_Cacturne), - STILL_FRONT_PIC(SNORUNT, gMonStillFrontPic_Snorunt), - STILL_FRONT_PIC(GLALIE, gMonStillFrontPic_Glalie), - STILL_FRONT_PIC(LUNATONE, gMonStillFrontPic_Lunatone), - STILL_FRONT_PIC(SOLROCK, gMonStillFrontPic_Solrock), - STILL_FRONT_PIC(AZURILL, gMonStillFrontPic_Azurill), - STILL_FRONT_PIC(SPOINK, gMonStillFrontPic_Spoink), - STILL_FRONT_PIC(GRUMPIG, gMonStillFrontPic_Grumpig), - STILL_FRONT_PIC(PLUSLE, gMonStillFrontPic_Plusle), - STILL_FRONT_PIC(MINUN, gMonStillFrontPic_Minun), - STILL_FRONT_PIC(MAWILE, gMonStillFrontPic_Mawile), - STILL_FRONT_PIC(MEDITITE, gMonStillFrontPic_Meditite), - STILL_FRONT_PIC(MEDICHAM, gMonStillFrontPic_Medicham), - STILL_FRONT_PIC(SWABLU, gMonStillFrontPic_Swablu), - STILL_FRONT_PIC(ALTARIA, gMonStillFrontPic_Altaria), - STILL_FRONT_PIC(WYNAUT, gMonStillFrontPic_Wynaut), - STILL_FRONT_PIC(DUSKULL, gMonStillFrontPic_Duskull), - STILL_FRONT_PIC(DUSCLOPS, gMonStillFrontPic_Dusclops), - STILL_FRONT_PIC(ROSELIA, gMonStillFrontPic_Roselia), - STILL_FRONT_PIC(SLAKOTH, gMonStillFrontPic_Slakoth), - STILL_FRONT_PIC(VIGOROTH, gMonStillFrontPic_Vigoroth), - STILL_FRONT_PIC(SLAKING, gMonStillFrontPic_Slaking), - STILL_FRONT_PIC(GULPIN, gMonStillFrontPic_Gulpin), - STILL_FRONT_PIC(SWALOT, gMonStillFrontPic_Swalot), - STILL_FRONT_PIC(TROPIUS, gMonStillFrontPic_Tropius), - STILL_FRONT_PIC(WHISMUR, gMonStillFrontPic_Whismur), - STILL_FRONT_PIC(LOUDRED, gMonStillFrontPic_Loudred), - STILL_FRONT_PIC(EXPLOUD, gMonStillFrontPic_Exploud), - STILL_FRONT_PIC(CLAMPERL, gMonStillFrontPic_Clamperl), - STILL_FRONT_PIC(HUNTAIL, gMonStillFrontPic_Huntail), - STILL_FRONT_PIC(GOREBYSS, gMonStillFrontPic_Gorebyss), - STILL_FRONT_PIC(ABSOL, gMonStillFrontPic_Absol), - STILL_FRONT_PIC(SHUPPET, gMonStillFrontPic_Shuppet), - STILL_FRONT_PIC(BANETTE, gMonStillFrontPic_Banette), - STILL_FRONT_PIC(SEVIPER, gMonStillFrontPic_Seviper), - STILL_FRONT_PIC(ZANGOOSE, gMonStillFrontPic_Zangoose), - STILL_FRONT_PIC(RELICANTH, gMonStillFrontPic_Relicanth), - STILL_FRONT_PIC(ARON, gMonStillFrontPic_Aron), - STILL_FRONT_PIC(LAIRON, gMonStillFrontPic_Lairon), - STILL_FRONT_PIC(AGGRON, gMonStillFrontPic_Aggron), - STILL_FRONT_PIC(CASTFORM, gMonStillFrontPic_Castform), - STILL_FRONT_PIC(VOLBEAT, gMonStillFrontPic_Volbeat), - STILL_FRONT_PIC(ILLUMISE, gMonStillFrontPic_Illumise), - STILL_FRONT_PIC(LILEEP, gMonStillFrontPic_Lileep), - STILL_FRONT_PIC(CRADILY, gMonStillFrontPic_Cradily), - STILL_FRONT_PIC(ANORITH, gMonStillFrontPic_Anorith), - STILL_FRONT_PIC(ARMALDO, gMonStillFrontPic_Armaldo), - STILL_FRONT_PIC(RALTS, gMonStillFrontPic_Ralts), - STILL_FRONT_PIC(KIRLIA, gMonStillFrontPic_Kirlia), - STILL_FRONT_PIC(GARDEVOIR, gMonStillFrontPic_Gardevoir), - STILL_FRONT_PIC(BAGON, gMonStillFrontPic_Bagon), - STILL_FRONT_PIC(SHELGON, gMonStillFrontPic_Shelgon), - STILL_FRONT_PIC(SALAMENCE, gMonStillFrontPic_Salamence), - STILL_FRONT_PIC(BELDUM, gMonStillFrontPic_Beldum), - STILL_FRONT_PIC(METANG, gMonStillFrontPic_Metang), - STILL_FRONT_PIC(METAGROSS, gMonStillFrontPic_Metagross), - STILL_FRONT_PIC(REGIROCK, gMonStillFrontPic_Regirock), - STILL_FRONT_PIC(REGICE, gMonStillFrontPic_Regice), - STILL_FRONT_PIC(REGISTEEL, gMonStillFrontPic_Registeel), - STILL_FRONT_PIC(KYOGRE, gMonStillFrontPic_Kyogre), - STILL_FRONT_PIC(GROUDON, gMonStillFrontPic_Groudon), - STILL_FRONT_PIC(RAYQUAZA, gMonStillFrontPic_Rayquaza), - STILL_FRONT_PIC(LATIAS, gMonStillFrontPic_Latias), - STILL_FRONT_PIC(LATIOS, gMonStillFrontPic_Latios), - STILL_FRONT_PIC(JIRACHI, gMonStillFrontPic_Jirachi), - STILL_FRONT_PIC(DEOXYS, gMonStillFrontPic_Deoxys), - STILL_FRONT_PIC(CHIMECHO, gMonStillFrontPic_Chimecho), - STILL_FRONT_PIC(EGG, gMonStillFrontPic_Egg), - STILL_FRONT_PIC(UNOWN_B, gMonStillFrontPic_UnownB), - STILL_FRONT_PIC(UNOWN_C, gMonStillFrontPic_UnownC), - STILL_FRONT_PIC(UNOWN_D, gMonStillFrontPic_UnownD), - STILL_FRONT_PIC(UNOWN_E, gMonStillFrontPic_UnownE), - STILL_FRONT_PIC(UNOWN_F, gMonStillFrontPic_UnownF), - STILL_FRONT_PIC(UNOWN_G, gMonStillFrontPic_UnownG), - STILL_FRONT_PIC(UNOWN_H, gMonStillFrontPic_UnownH), - STILL_FRONT_PIC(UNOWN_I, gMonStillFrontPic_UnownI), - STILL_FRONT_PIC(UNOWN_J, gMonStillFrontPic_UnownJ), - STILL_FRONT_PIC(UNOWN_K, gMonStillFrontPic_UnownK), - STILL_FRONT_PIC(UNOWN_L, gMonStillFrontPic_UnownL), - STILL_FRONT_PIC(UNOWN_M, gMonStillFrontPic_UnownM), - STILL_FRONT_PIC(UNOWN_N, gMonStillFrontPic_UnownN), - STILL_FRONT_PIC(UNOWN_O, gMonStillFrontPic_UnownO), - STILL_FRONT_PIC(UNOWN_P, gMonStillFrontPic_UnownP), - STILL_FRONT_PIC(UNOWN_Q, gMonStillFrontPic_UnownQ), - STILL_FRONT_PIC(UNOWN_R, gMonStillFrontPic_UnownR), - STILL_FRONT_PIC(UNOWN_S, gMonStillFrontPic_UnownS), - STILL_FRONT_PIC(UNOWN_T, gMonStillFrontPic_UnownT), - STILL_FRONT_PIC(UNOWN_U, gMonStillFrontPic_UnownU), - STILL_FRONT_PIC(UNOWN_V, gMonStillFrontPic_UnownV), - STILL_FRONT_PIC(UNOWN_W, gMonStillFrontPic_UnownW), - STILL_FRONT_PIC(UNOWN_X, gMonStillFrontPic_UnownX), - STILL_FRONT_PIC(UNOWN_Y, gMonStillFrontPic_UnownY), - STILL_FRONT_PIC(UNOWN_Z, gMonStillFrontPic_UnownZ), - STILL_FRONT_PIC(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark), - STILL_FRONT_PIC(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark), + SPECIES_SPRITE(TREECKO, gMonStillFrontPic_Treecko), + SPECIES_SPRITE(GROVYLE, gMonStillFrontPic_Grovyle), + SPECIES_SPRITE(SCEPTILE, gMonStillFrontPic_Sceptile), + SPECIES_SPRITE(TORCHIC, gMonStillFrontPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonStillFrontPic_Combusken), + SPECIES_SPRITE(BLAZIKEN, gMonStillFrontPic_Blaziken), + SPECIES_SPRITE(MUDKIP, gMonStillFrontPic_Mudkip), + SPECIES_SPRITE(MARSHTOMP, gMonStillFrontPic_Marshtomp), + SPECIES_SPRITE(SWAMPERT, gMonStillFrontPic_Swampert), + SPECIES_SPRITE(POOCHYENA, gMonStillFrontPic_Poochyena), + SPECIES_SPRITE(MIGHTYENA, gMonStillFrontPic_Mightyena), + SPECIES_SPRITE(ZIGZAGOON, gMonStillFrontPic_Zigzagoon), + SPECIES_SPRITE(LINOONE, gMonStillFrontPic_Linoone), + SPECIES_SPRITE(WURMPLE, gMonStillFrontPic_Wurmple), + SPECIES_SPRITE(SILCOON, gMonStillFrontPic_Silcoon), + SPECIES_SPRITE(BEAUTIFLY, gMonStillFrontPic_Beautifly), + SPECIES_SPRITE(CASCOON, gMonStillFrontPic_Cascoon), + SPECIES_SPRITE(DUSTOX, gMonStillFrontPic_Dustox), + SPECIES_SPRITE(LOTAD, gMonStillFrontPic_Lotad), + SPECIES_SPRITE(LOMBRE, gMonStillFrontPic_Lombre), + SPECIES_SPRITE(LUDICOLO, gMonStillFrontPic_Ludicolo), + SPECIES_SPRITE(SEEDOT, gMonStillFrontPic_Seedot), + SPECIES_SPRITE(NUZLEAF, gMonStillFrontPic_Nuzleaf), + SPECIES_SPRITE(SHIFTRY, gMonStillFrontPic_Shiftry), + SPECIES_SPRITE(NINCADA, gMonStillFrontPic_Nincada), + SPECIES_SPRITE(NINJASK, gMonStillFrontPic_Ninjask), + SPECIES_SPRITE(SHEDINJA, gMonStillFrontPic_Shedinja), + SPECIES_SPRITE(TAILLOW, gMonStillFrontPic_Taillow), + SPECIES_SPRITE(SWELLOW, gMonStillFrontPic_Swellow), + SPECIES_SPRITE(SHROOMISH, gMonStillFrontPic_Shroomish), + SPECIES_SPRITE(BRELOOM, gMonStillFrontPic_Breloom), + SPECIES_SPRITE(SPINDA, gMonStillFrontPic_Spinda), + SPECIES_SPRITE(WINGULL, gMonStillFrontPic_Wingull), + SPECIES_SPRITE(PELIPPER, gMonStillFrontPic_Pelipper), + SPECIES_SPRITE(SURSKIT, gMonStillFrontPic_Surskit), + SPECIES_SPRITE(MASQUERAIN, gMonStillFrontPic_Masquerain), + SPECIES_SPRITE(WAILMER, gMonStillFrontPic_Wailmer), + SPECIES_SPRITE(WAILORD, gMonStillFrontPic_Wailord), + SPECIES_SPRITE(SKITTY, gMonStillFrontPic_Skitty), + SPECIES_SPRITE(DELCATTY, gMonStillFrontPic_Delcatty), + SPECIES_SPRITE(KECLEON, gMonStillFrontPic_Kecleon), + SPECIES_SPRITE(BALTOY, gMonStillFrontPic_Baltoy), + SPECIES_SPRITE(CLAYDOL, gMonStillFrontPic_Claydol), + SPECIES_SPRITE(NOSEPASS, gMonStillFrontPic_Nosepass), + SPECIES_SPRITE(TORKOAL, gMonStillFrontPic_Torkoal), + SPECIES_SPRITE(SABLEYE, gMonStillFrontPic_Sableye), + SPECIES_SPRITE(BARBOACH, gMonStillFrontPic_Barboach), + SPECIES_SPRITE(WHISCASH, gMonStillFrontPic_Whiscash), + SPECIES_SPRITE(LUVDISC, gMonStillFrontPic_Luvdisc), + SPECIES_SPRITE(CORPHISH, gMonStillFrontPic_Corphish), + SPECIES_SPRITE(CRAWDAUNT, gMonStillFrontPic_Crawdaunt), + SPECIES_SPRITE(FEEBAS, gMonStillFrontPic_Feebas), + SPECIES_SPRITE(MILOTIC, gMonStillFrontPic_Milotic), + SPECIES_SPRITE(CARVANHA, gMonStillFrontPic_Carvanha), + SPECIES_SPRITE(SHARPEDO, gMonStillFrontPic_Sharpedo), + SPECIES_SPRITE(TRAPINCH, gMonStillFrontPic_Trapinch), + SPECIES_SPRITE(VIBRAVA, gMonStillFrontPic_Vibrava), + SPECIES_SPRITE(FLYGON, gMonStillFrontPic_Flygon), + SPECIES_SPRITE(MAKUHITA, gMonStillFrontPic_Makuhita), + SPECIES_SPRITE(HARIYAMA, gMonStillFrontPic_Hariyama), + SPECIES_SPRITE(ELECTRIKE, gMonStillFrontPic_Electrike), + SPECIES_SPRITE(MANECTRIC, gMonStillFrontPic_Manectric), + SPECIES_SPRITE(NUMEL, gMonStillFrontPic_Numel), + SPECIES_SPRITE(CAMERUPT, gMonStillFrontPic_Camerupt), + SPECIES_SPRITE(SPHEAL, gMonStillFrontPic_Spheal), + SPECIES_SPRITE(SEALEO, gMonStillFrontPic_Sealeo), + SPECIES_SPRITE(WALREIN, gMonStillFrontPic_Walrein), + SPECIES_SPRITE(CACNEA, gMonStillFrontPic_Cacnea), + SPECIES_SPRITE(CACTURNE, gMonStillFrontPic_Cacturne), + SPECIES_SPRITE(SNORUNT, gMonStillFrontPic_Snorunt), + SPECIES_SPRITE(GLALIE, gMonStillFrontPic_Glalie), + SPECIES_SPRITE(LUNATONE, gMonStillFrontPic_Lunatone), + SPECIES_SPRITE(SOLROCK, gMonStillFrontPic_Solrock), + SPECIES_SPRITE(AZURILL, gMonStillFrontPic_Azurill), + SPECIES_SPRITE(SPOINK, gMonStillFrontPic_Spoink), + SPECIES_SPRITE(GRUMPIG, gMonStillFrontPic_Grumpig), + SPECIES_SPRITE(PLUSLE, gMonStillFrontPic_Plusle), + SPECIES_SPRITE(MINUN, gMonStillFrontPic_Minun), + SPECIES_SPRITE(MAWILE, gMonStillFrontPic_Mawile), + SPECIES_SPRITE(MEDITITE, gMonStillFrontPic_Meditite), + SPECIES_SPRITE(MEDICHAM, gMonStillFrontPic_Medicham), + SPECIES_SPRITE(SWABLU, gMonStillFrontPic_Swablu), + SPECIES_SPRITE(ALTARIA, gMonStillFrontPic_Altaria), + SPECIES_SPRITE(WYNAUT, gMonStillFrontPic_Wynaut), + SPECIES_SPRITE(DUSKULL, gMonStillFrontPic_Duskull), + SPECIES_SPRITE(DUSCLOPS, gMonStillFrontPic_Dusclops), + SPECIES_SPRITE(ROSELIA, gMonStillFrontPic_Roselia), + SPECIES_SPRITE(SLAKOTH, gMonStillFrontPic_Slakoth), + SPECIES_SPRITE(VIGOROTH, gMonStillFrontPic_Vigoroth), + SPECIES_SPRITE(SLAKING, gMonStillFrontPic_Slaking), + SPECIES_SPRITE(GULPIN, gMonStillFrontPic_Gulpin), + SPECIES_SPRITE(SWALOT, gMonStillFrontPic_Swalot), + SPECIES_SPRITE(TROPIUS, gMonStillFrontPic_Tropius), + SPECIES_SPRITE(WHISMUR, gMonStillFrontPic_Whismur), + SPECIES_SPRITE(LOUDRED, gMonStillFrontPic_Loudred), + SPECIES_SPRITE(EXPLOUD, gMonStillFrontPic_Exploud), + SPECIES_SPRITE(CLAMPERL, gMonStillFrontPic_Clamperl), + SPECIES_SPRITE(HUNTAIL, gMonStillFrontPic_Huntail), + SPECIES_SPRITE(GOREBYSS, gMonStillFrontPic_Gorebyss), + SPECIES_SPRITE(ABSOL, gMonStillFrontPic_Absol), + SPECIES_SPRITE(SHUPPET, gMonStillFrontPic_Shuppet), + SPECIES_SPRITE(BANETTE, gMonStillFrontPic_Banette), + SPECIES_SPRITE(SEVIPER, gMonStillFrontPic_Seviper), + SPECIES_SPRITE(ZANGOOSE, gMonStillFrontPic_Zangoose), + SPECIES_SPRITE(RELICANTH, gMonStillFrontPic_Relicanth), + SPECIES_SPRITE(ARON, gMonStillFrontPic_Aron), + SPECIES_SPRITE(LAIRON, gMonStillFrontPic_Lairon), + SPECIES_SPRITE(AGGRON, gMonStillFrontPic_Aggron), + SPECIES_SPRITE(CASTFORM, gMonStillFrontPic_Castform), + SPECIES_SPRITE(VOLBEAT, gMonStillFrontPic_Volbeat), + SPECIES_SPRITE(ILLUMISE, gMonStillFrontPic_Illumise), + SPECIES_SPRITE(LILEEP, gMonStillFrontPic_Lileep), + SPECIES_SPRITE(CRADILY, gMonStillFrontPic_Cradily), + SPECIES_SPRITE(ANORITH, gMonStillFrontPic_Anorith), + SPECIES_SPRITE(ARMALDO, gMonStillFrontPic_Armaldo), + SPECIES_SPRITE(RALTS, gMonStillFrontPic_Ralts), + SPECIES_SPRITE(KIRLIA, gMonStillFrontPic_Kirlia), + SPECIES_SPRITE(GARDEVOIR, gMonStillFrontPic_Gardevoir), + SPECIES_SPRITE(BAGON, gMonStillFrontPic_Bagon), + SPECIES_SPRITE(SHELGON, gMonStillFrontPic_Shelgon), + SPECIES_SPRITE(SALAMENCE, gMonStillFrontPic_Salamence), + SPECIES_SPRITE(BELDUM, gMonStillFrontPic_Beldum), + SPECIES_SPRITE(METANG, gMonStillFrontPic_Metang), + SPECIES_SPRITE(METAGROSS, gMonStillFrontPic_Metagross), + SPECIES_SPRITE(REGIROCK, gMonStillFrontPic_Regirock), + SPECIES_SPRITE(REGICE, gMonStillFrontPic_Regice), + SPECIES_SPRITE(REGISTEEL, gMonStillFrontPic_Registeel), + SPECIES_SPRITE(KYOGRE, gMonStillFrontPic_Kyogre), + SPECIES_SPRITE(GROUDON, gMonStillFrontPic_Groudon), + SPECIES_SPRITE(RAYQUAZA, gMonStillFrontPic_Rayquaza), + SPECIES_SPRITE(LATIAS, gMonStillFrontPic_Latias), + SPECIES_SPRITE(LATIOS, gMonStillFrontPic_Latios), + SPECIES_SPRITE(JIRACHI, gMonStillFrontPic_Jirachi), + SPECIES_SPRITE(DEOXYS, gMonStillFrontPic_Deoxys), + SPECIES_SPRITE(CHIMECHO, gMonStillFrontPic_Chimecho), + SPECIES_SPRITE(EGG, gMonStillFrontPic_Egg), + SPECIES_SPRITE(UNOWN_B, gMonStillFrontPic_UnownB), + SPECIES_SPRITE(UNOWN_C, gMonStillFrontPic_UnownC), + SPECIES_SPRITE(UNOWN_D, gMonStillFrontPic_UnownD), + SPECIES_SPRITE(UNOWN_E, gMonStillFrontPic_UnownE), + SPECIES_SPRITE(UNOWN_F, gMonStillFrontPic_UnownF), + SPECIES_SPRITE(UNOWN_G, gMonStillFrontPic_UnownG), + SPECIES_SPRITE(UNOWN_H, gMonStillFrontPic_UnownH), + SPECIES_SPRITE(UNOWN_I, gMonStillFrontPic_UnownI), + SPECIES_SPRITE(UNOWN_J, gMonStillFrontPic_UnownJ), + SPECIES_SPRITE(UNOWN_K, gMonStillFrontPic_UnownK), + SPECIES_SPRITE(UNOWN_L, gMonStillFrontPic_UnownL), + SPECIES_SPRITE(UNOWN_M, gMonStillFrontPic_UnownM), + SPECIES_SPRITE(UNOWN_N, gMonStillFrontPic_UnownN), + SPECIES_SPRITE(UNOWN_O, gMonStillFrontPic_UnownO), + SPECIES_SPRITE(UNOWN_P, gMonStillFrontPic_UnownP), + SPECIES_SPRITE(UNOWN_Q, gMonStillFrontPic_UnownQ), + SPECIES_SPRITE(UNOWN_R, gMonStillFrontPic_UnownR), + SPECIES_SPRITE(UNOWN_S, gMonStillFrontPic_UnownS), + SPECIES_SPRITE(UNOWN_T, gMonStillFrontPic_UnownT), + SPECIES_SPRITE(UNOWN_U, gMonStillFrontPic_UnownU), + SPECIES_SPRITE(UNOWN_V, gMonStillFrontPic_UnownV), + SPECIES_SPRITE(UNOWN_W, gMonStillFrontPic_UnownW), + SPECIES_SPRITE(UNOWN_X, gMonStillFrontPic_UnownX), + SPECIES_SPRITE(UNOWN_Y, gMonStillFrontPic_UnownY), + SPECIES_SPRITE(UNOWN_Z, gMonStillFrontPic_UnownZ), + SPECIES_SPRITE(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark), + SPECIES_SPRITE(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark), }; diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h index 313e7ae35..bb4862d09 100644 --- a/src/data/pokemon_graphics/unknown_anims.h +++ b/src/data/pokemon_graphics/unknown_anims.h @@ -1,36 +1,5 @@ -const union AnimCmd gUnknown_082FF6EC[] = -{ - ANIMCMD_FRAME(0, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF6F4[] = -{ - ANIMCMD_FRAME(1, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF6FC[] = -{ - ANIMCMD_FRAME(2, 0), - ANIMCMD_END, -}; - -const union AnimCmd gUnknown_082FF704[] = -{ - ANIMCMD_FRAME(3, 0), - ANIMCMD_END, -}; - -const union AnimCmd *const gPlayerMonSpriteAnimsTable[] = -{ - gUnknown_082FF6EC, - gUnknown_082FF6F4, - gUnknown_082FF6FC, - gUnknown_082FF704, -}; - -const union AnimCmd gUnknown_082FF71C[] = +// unused and unkown +static const union AnimCmd gUnknown_082FF71C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -40,7 +9,7 @@ const union AnimCmd gUnknown_082FF71C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF734[] = +static const union AnimCmd gUnknown_082FF734[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -48,20 +17,20 @@ const union AnimCmd gUnknown_082FF734[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF744[] = +static const union AnimCmd gUnknown_082FF744[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF750[] = +static const union AnimCmd gUnknown_082FF750[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF758[] = +static const union AnimCmd gUnknown_082FF758[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 5), @@ -72,7 +41,7 @@ const union AnimCmd gUnknown_082FF758[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF774[] = +static const union AnimCmd gUnknown_082FF774[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 12), @@ -83,14 +52,14 @@ const union AnimCmd gUnknown_082FF774[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF790[] = +static const union AnimCmd gUnknown_082FF790[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(2, 12), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF79C[] = +static const union AnimCmd gUnknown_082FF79C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -99,7 +68,7 @@ const union AnimCmd gUnknown_082FF79C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7B0[] = +static const union AnimCmd gUnknown_082FF7B0[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), @@ -108,193 +77,193 @@ const union AnimCmd gUnknown_082FF7B0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7C4[] = +static const union AnimCmd gUnknown_082FF7C4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7CC[] = +static const union AnimCmd gUnknown_082FF7CC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7D4[] = +static const union AnimCmd gUnknown_082FF7D4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7DC[] = +static const union AnimCmd gUnknown_082FF7DC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7E4[] = +static const union AnimCmd gUnknown_082FF7E4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7EC[] = +static const union AnimCmd gUnknown_082FF7EC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7F4[] = +static const union AnimCmd gUnknown_082FF7F4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF7FC[] = +static const union AnimCmd gUnknown_082FF7FC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF804[] = +static const union AnimCmd gUnknown_082FF804[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF80C[] = +static const union AnimCmd gUnknown_082FF80C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF814[] = +static const union AnimCmd gUnknown_082FF814[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF81C[] = +static const union AnimCmd gUnknown_082FF81C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF824[] = +static const union AnimCmd gUnknown_082FF824[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF82C[] = +static const union AnimCmd gUnknown_082FF82C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF834[] = +static const union AnimCmd gUnknown_082FF834[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF83C[] = +static const union AnimCmd gUnknown_082FF83C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF844[] = +static const union AnimCmd gUnknown_082FF844[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF84C[] = +static const union AnimCmd gUnknown_082FF84C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF854[] = +static const union AnimCmd gUnknown_082FF854[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF85C[] = +static const union AnimCmd gUnknown_082FF85C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF864[] = +static const union AnimCmd gUnknown_082FF864[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF86C[] = +static const union AnimCmd gUnknown_082FF86C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF874[] = +static const union AnimCmd gUnknown_082FF874[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF87C[] = +static const union AnimCmd gUnknown_082FF87C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF884[] = +static const union AnimCmd gUnknown_082FF884[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF88C[] = +static const union AnimCmd gUnknown_082FF88C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF894[] = +static const union AnimCmd gUnknown_082FF894[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF89C[] = +static const union AnimCmd gUnknown_082FF89C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8A4[] = +static const union AnimCmd gUnknown_082FF8A4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8AC[] = +static const union AnimCmd gUnknown_082FF8AC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8B4[] = +static const union AnimCmd gUnknown_082FF8B4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8BC[] = +static const union AnimCmd gUnknown_082FF8BC[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(8, 15), @@ -314,7 +283,7 @@ const union AnimCmd gUnknown_082FF8BC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF8FC[] = +static const union AnimCmd gUnknown_082FF8FC[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(8, 15), @@ -326,7 +295,7 @@ const union AnimCmd gUnknown_082FF8FC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF91C[] = +static const union AnimCmd gUnknown_082FF91C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(9, 10), @@ -335,26 +304,26 @@ const union AnimCmd gUnknown_082FF91C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF930[] = +static const union AnimCmd gUnknown_082FF930[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(11, 15), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF93C[] = +static const union AnimCmd gUnknown_082FF93C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF944[] = +static const union AnimCmd gUnknown_082FF944[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF94C[] = +static const union AnimCmd gUnknown_082FF94C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 7), @@ -381,7 +350,7 @@ const union AnimCmd gUnknown_082FF94C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FF9A8[] = +static const union AnimCmd gUnknown_082FF9A8[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -407,7 +376,7 @@ const union AnimCmd gUnknown_082FF9A8[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA00[] = +static const union AnimCmd gUnknown_082FFA00[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(7, 12), @@ -433,182 +402,182 @@ const union AnimCmd gUnknown_082FFA00[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA58[] = +static const union AnimCmd gUnknown_082FFA58[] = { ANIMCMD_FRAME(0,18), ANIMCMD_FRAME(10, 18), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA64[] = +static const union AnimCmd gUnknown_082FFA64[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA6C[] = +static const union AnimCmd gUnknown_082FFA6C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA74[] = +static const union AnimCmd gUnknown_082FFA74[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA7C[] = +static const union AnimCmd gUnknown_082FFA7C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA84[] = +static const union AnimCmd gUnknown_082FFA84[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA8C[] = +static const union AnimCmd gUnknown_082FFA8C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA94[] = +static const union AnimCmd gUnknown_082FFA94[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFA9C[] = +static const union AnimCmd gUnknown_082FFA9C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAA4[] = +static const union AnimCmd gUnknown_082FFAA4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAAC[] = +static const union AnimCmd gUnknown_082FFAAC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAB4[] = +static const union AnimCmd gUnknown_082FFAB4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFABC[] = +static const union AnimCmd gUnknown_082FFABC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAC4[] = +static const union AnimCmd gUnknown_082FFAC4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFACC[] = +static const union AnimCmd gUnknown_082FFACC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAD4[] = +static const union AnimCmd gUnknown_082FFAD4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFADC[] = +static const union AnimCmd gUnknown_082FFADC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAE4[] = +static const union AnimCmd gUnknown_082FFAE4[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAEC[] = +static const union AnimCmd gUnknown_082FFAEC[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAF4[] = +static const union AnimCmd gUnknown_082FFAF4[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFAFC[] = +static const union AnimCmd gUnknown_082FFAFC[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB04[] = +static const union AnimCmd gUnknown_082FFB04[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB0C[] = +static const union AnimCmd gUnknown_082FFB0C[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB14[] = +static const union AnimCmd gUnknown_082FFB14[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB1C[] = +static const union AnimCmd gUnknown_082FFB1C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB24[] = +static const union AnimCmd gUnknown_082FFB24[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB2C[] = +static const union AnimCmd gUnknown_082FFB2C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB34[] = +static const union AnimCmd gUnknown_082FFB34[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB3C[] = +static const union AnimCmd gUnknown_082FFB3C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB44[] = +static const union AnimCmd gUnknown_082FFB44[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 18), @@ -619,7 +588,7 @@ const union AnimCmd gUnknown_082FFB44[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB60[] = +static const union AnimCmd gUnknown_082FFB60[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 18), @@ -630,7 +599,7 @@ const union AnimCmd gUnknown_082FFB60[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFB7C[] = +static const union AnimCmd gUnknown_082FFB7C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -650,7 +619,7 @@ const union AnimCmd gUnknown_082FFB7C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBBC[] = +static const union AnimCmd gUnknown_082FFBBC[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -663,7 +632,7 @@ const union AnimCmd gUnknown_082FFBBC[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBE0[] = +static const union AnimCmd gUnknown_082FFBE0[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(5, 12), @@ -672,61 +641,61 @@ const union AnimCmd gUnknown_082FFBE0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBF4[] = +static const union AnimCmd gUnknown_082FFBF4[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFBFC[] = +static const union AnimCmd gUnknown_082FFBFC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC04[] = +static const union AnimCmd gUnknown_082FFC04[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC0C[] = +static const union AnimCmd gUnknown_082FFC0C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC14[] = +static const union AnimCmd gUnknown_082FFC14[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC1C[] = +static const union AnimCmd gUnknown_082FFC1C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC24[] = +static const union AnimCmd gUnknown_082FFC24[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC2C[] = +static const union AnimCmd gUnknown_082FFC2C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC34[] = +static const union AnimCmd gUnknown_082FFC34[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC3C[] = +static const union AnimCmd gUnknown_082FFC3C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -737,7 +706,7 @@ const union AnimCmd gUnknown_082FFC3C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC58[] = +static const union AnimCmd gUnknown_082FFC58[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -748,217 +717,217 @@ const union AnimCmd gUnknown_082FFC58[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC74[] = +static const union AnimCmd gUnknown_082FFC74[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC7C[] = +static const union AnimCmd gUnknown_082FFC7C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC84[] = +static const union AnimCmd gUnknown_082FFC84[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC8C[] = +static const union AnimCmd gUnknown_082FFC8C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC94[] = +static const union AnimCmd gUnknown_082FFC94[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFC9C[] = +static const union AnimCmd gUnknown_082FFC9C[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCA4[] = +static const union AnimCmd gUnknown_082FFCA4[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCAC[] = +static const union AnimCmd gUnknown_082FFCAC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCB4[] = +static const union AnimCmd gUnknown_082FFCB4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCBC[] = +static const union AnimCmd gUnknown_082FFCBC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCC4[] = +static const union AnimCmd gUnknown_082FFCC4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCCC[] = +static const union AnimCmd gUnknown_082FFCCC[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCD4[] = +static const union AnimCmd gUnknown_082FFCD4[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCDC[] = +static const union AnimCmd gUnknown_082FFCDC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCE4[] = +static const union AnimCmd gUnknown_082FFCE4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCEC[] = +static const union AnimCmd gUnknown_082FFCEC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCF4[] = +static const union AnimCmd gUnknown_082FFCF4[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFCFC[] = +static const union AnimCmd gUnknown_082FFCFC[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD04[] = +static const union AnimCmd gUnknown_082FFD04[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD0C[] = +static const union AnimCmd gUnknown_082FFD0C[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD14[] = +static const union AnimCmd gUnknown_082FFD14[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD1C[] = +static const union AnimCmd gUnknown_082FFD1C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD24[] = +static const union AnimCmd gUnknown_082FFD24[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD2C[] = +static const union AnimCmd gUnknown_082FFD2C[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD34[] = +static const union AnimCmd gUnknown_082FFD34[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD3C[] = +static const union AnimCmd gUnknown_082FFD3C[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD44[] = +static const union AnimCmd gUnknown_082FFD44[] = { ANIMCMD_FRAME(0, 63), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD4C[] = +static const union AnimCmd gUnknown_082FFD4C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD54[] = +static const union AnimCmd gUnknown_082FFD54[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD5C[] = +static const union AnimCmd gUnknown_082FFD5C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD64[] = +static const union AnimCmd gUnknown_082FFD64[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD6C[] = +static const union AnimCmd gUnknown_082FFD6C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD74[] = +static const union AnimCmd gUnknown_082FFD74[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD7C[] = +static const union AnimCmd gUnknown_082FFD7C[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD84[] = +static const union AnimCmd gUnknown_082FFD84[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFD8C[] = +static const union AnimCmd gUnknown_082FFD8C[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 30), @@ -967,7 +936,7 @@ const union AnimCmd gUnknown_082FFD8C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDA0[] = +static const union AnimCmd gUnknown_082FFDA0[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -976,933 +945,933 @@ const union AnimCmd gUnknown_082FFDA0[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDB4[] = +static const union AnimCmd gUnknown_082FFDB4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDBC[] = +static const union AnimCmd gUnknown_082FFDBC[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -const union AnimCmd gUnknown_082FFDC4[] = +static const union AnimCmd gUnknown_082FFDC4[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_082FFDCC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDD8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFDFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE00[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE04[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE08[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE0C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE10[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE14[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE18[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE1C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE20[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE24[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE28[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE2C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE30[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE34[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE38[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE3C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE40[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE44[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE48[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE4C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE50[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE54[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE58[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE5C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE60[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE64[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE68[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE6C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE70[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE74[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE78[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE7C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE80[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE84[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE88[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE8C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE90[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE94[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE98[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFE9C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEA8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEAC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEB8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEBC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEC8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFECC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFED8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFEFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF00[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF04[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF08[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF0C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF10[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF14[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF18[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF1C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF20[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF24[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF28[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF2C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF30[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF34[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF38[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF3C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF40[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF44[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF48[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF4C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF50[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF54[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF58[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF5C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF60[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF64[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF68[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF6C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF70[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF74[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF78[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF7C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF80[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF84[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF88[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF8C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF90[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF94[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF98[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFF9C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFA8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFAC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFB8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFBC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFC8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFCC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFD8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFDC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFE8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFEC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFF8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_082FFFFC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300000[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300004[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300008[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830000C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300010[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300014[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300018[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830001C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300020[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300024[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300028[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830002C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300030[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300034[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300038[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830003C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300040[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300044[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300048[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830004C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300050[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300054[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300058[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830005C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300060[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300064[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300068[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830006C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300070[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300074[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300078[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830007C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300080[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300084[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300088[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830008C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300090[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300094[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300098[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830009C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000A8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000AC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000B8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000BC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000C8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000CC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000D8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000DC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000E8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000EC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083000FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300100[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300104[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300108[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830010C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300110[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300114[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300118[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830011C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300120[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300124[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300128[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830012C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300130[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300134[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300138[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830013C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300140[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300144[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300148[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830014C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300150[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300154[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300158[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830015C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300160[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300164[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300168[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830016C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300170[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300174[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300178[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830017C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300180[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300184[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300188[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830018C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300190[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300194[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300198[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830019C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001A8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001AC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001B8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001BC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001C8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001CC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083001D0[] = {gAnimCmd_General_Frame0}; - -const union AnimCmd *const gUnknown_083001D4[] = -{ - gAnimCmd_General_Frame0, +static const union AnimCmd *const gUnknown_082FFDCC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDD8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFDFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE00[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE04[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE08[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE0C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE10[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE14[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE18[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE1C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE20[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE24[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE28[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE2C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE30[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE34[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE38[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE3C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE40[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE44[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE48[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE4C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE50[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE54[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE58[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE5C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE60[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE64[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE68[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE6C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE70[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE74[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE78[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE7C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE80[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE84[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE88[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE8C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE90[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE94[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE98[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFE9C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEA8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEAC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEB8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEBC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEC8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFECC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFED8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFEFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF00[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF04[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF08[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF0C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF10[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF14[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF18[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF1C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF20[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF24[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF28[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF2C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF30[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF34[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF38[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF3C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF40[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF44[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF48[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF4C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF50[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF54[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF58[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF5C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF60[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF64[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF68[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF6C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF70[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF74[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF78[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF7C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF80[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF84[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF88[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF8C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF90[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF94[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF98[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFF9C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFA8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFAC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFB8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFBC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFC8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFCC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFD8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFDC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFE8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFEC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFF8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_082FFFFC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300000[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300004[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300008[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830000C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300010[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300014[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300018[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830001C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300020[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300024[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300028[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830002C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300030[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300034[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300038[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830003C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300040[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300044[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300048[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830004C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300050[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300054[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300058[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830005C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300060[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300064[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300068[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830006C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300070[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300074[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300078[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830007C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300080[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300084[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300088[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830008C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300090[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300094[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300098[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830009C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000A8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000AC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000B8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000BC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000C8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000CC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000D8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000DC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000EC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000F8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083000FC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300100[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300104[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300108[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830010C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300110[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300114[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300118[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830011C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300120[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300124[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300128[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830012C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300130[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300134[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300138[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830013C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300140[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300144[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300148[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830014C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300150[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300154[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300158[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830015C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300160[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300164[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300168[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830016C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300170[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300174[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300178[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830017C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300180[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300184[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300188[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830018C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300190[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300194[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300198[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830019C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001A8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001AC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001B8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001BC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001C8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001CC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083001D0[] = {sAnim_GeneralFrame0}; + +static const union AnimCmd *const gUnknown_083001D4[] = +{ + sAnim_GeneralFrame0, gUnknown_082FF71C, gUnknown_082FF734, gUnknown_082FF744, gUnknown_082FF750, }; -const union AnimCmd *const gUnknown_083001E8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083001E8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083001EC[] = +static const union AnimCmd *const gUnknown_083001EC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF758, gUnknown_082FF774, gUnknown_082FF790, }; -const union AnimCmd *const gUnknown_083001FC[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083001FC[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300200[] = +static const union AnimCmd *const gUnknown_08300200[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF79C, gUnknown_082FF7B0, }; -const union AnimCmd *const gUnknown_0830020C[] = +static const union AnimCmd *const gUnknown_0830020C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7C4, }; -const union AnimCmd *const gUnknown_08300214[] = +static const union AnimCmd *const gUnknown_08300214[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7CC, }; -const union AnimCmd *const gUnknown_0830021C[] = +static const union AnimCmd *const gUnknown_0830021C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7D4, }; -const union AnimCmd *const gUnknown_08300224[] = +static const union AnimCmd *const gUnknown_08300224[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7DC, gUnknown_082FF7E4, }; -const union AnimCmd *const gUnknown_08300230[] = +static const union AnimCmd *const gUnknown_08300230[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7EC, gUnknown_082FF7F4, }; -const union AnimCmd *const gUnknown_0830023C[] = +static const union AnimCmd *const gUnknown_0830023C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF7FC, gUnknown_082FF804, }; -const union AnimCmd *const gUnknown_08300248[] = +static const union AnimCmd *const gUnknown_08300248[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF80C, gUnknown_082FF814, }; -const union AnimCmd *const gUnknown_08300254[] = +static const union AnimCmd *const gUnknown_08300254[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF81C, gUnknown_082FF824, }; -const union AnimCmd *const gUnknown_08300260[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300260[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300264[] = +static const union AnimCmd *const gUnknown_08300264[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF82C, }; -const union AnimCmd *const gUnknown_0830026C[] = +static const union AnimCmd *const gUnknown_0830026C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF834, gUnknown_082FF83C, }; -const union AnimCmd *const gUnknown_08300278[] = +static const union AnimCmd *const gUnknown_08300278[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF844, }; -const union AnimCmd *const gUnknown_08300280[] = +static const union AnimCmd *const gUnknown_08300280[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF84C, }; -const union AnimCmd *const gUnknown_08300288[] = +static const union AnimCmd *const gUnknown_08300288[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF854, gUnknown_082FF85C, }; -const union AnimCmd *const gUnknown_08300294[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300298[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830029C[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300294[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300298[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830029C[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083002A0[] = +static const union AnimCmd *const gUnknown_083002A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF864, }; -const union AnimCmd *const gUnknown_083002A8[] = +static const union AnimCmd *const gUnknown_083002A8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF86C, }; -const union AnimCmd *const gUnknown_083002B0[] = +static const union AnimCmd *const gUnknown_083002B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF874, }; -const union AnimCmd *const gUnknown_083002B8[] = +static const union AnimCmd *const gUnknown_083002B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF87C, }; -const union AnimCmd *const gUnknown_083002C0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083002C0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083002C4[] = +static const union AnimCmd *const gUnknown_083002C4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF884, }; -const union AnimCmd *const gUnknown_083002CC[] = +static const union AnimCmd *const gUnknown_083002CC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF88C, gUnknown_082FF894, }; -const union AnimCmd *const gUnknown_083002D8[] = +static const union AnimCmd *const gUnknown_083002D8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF89C, gUnknown_082FF8A4, }; -const union AnimCmd *const gUnknown_083002E4[] = +static const union AnimCmd *const gUnknown_083002E4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF8AC, gUnknown_082FF8B4, }; -const union AnimCmd *const gUnknown_083002F0[] = +static const union AnimCmd *const gUnknown_083002F0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF8BC, gUnknown_082FF8FC, gUnknown_082FF91C, gUnknown_082FF930, }; -const union AnimCmd *const gUnknown_08300304[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300304[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300308[] = +static const union AnimCmd *const gUnknown_08300308[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF93C, }; -const union AnimCmd *const gUnknown_08300310[] = +static const union AnimCmd *const gUnknown_08300310[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF944, }; -const union AnimCmd *const gUnknown_08300318[] = +static const union AnimCmd *const gUnknown_08300318[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FF94C, gUnknown_082FF9A8, gUnknown_082FFA00, gUnknown_082FFA58, }; -const union AnimCmd *const gUnknown_0830032C[] = +static const union AnimCmd *const gUnknown_0830032C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA64, }; -const union AnimCmd *const gUnknown_08300334[] = +static const union AnimCmd *const gUnknown_08300334[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA6C, }; -const union AnimCmd *const gUnknown_0830033C[] = +static const union AnimCmd *const gUnknown_0830033C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA74, }; -const union AnimCmd *const gUnknown_08300344[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300344[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300348[] = +static const union AnimCmd *const gUnknown_08300348[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA7C, gUnknown_082FFA84, }; -const union AnimCmd *const gUnknown_08300354[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300358[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300354[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300358[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830035C[] = +static const union AnimCmd *const gUnknown_0830035C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA8C, gUnknown_082FFA94, }; -const union AnimCmd *const gUnknown_08300368[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830036C[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300368[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830036C[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300370[] = +static const union AnimCmd *const gUnknown_08300370[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFA9C, gUnknown_082FFAA4, }; -const union AnimCmd *const gUnknown_0830037C[] = +static const union AnimCmd *const gUnknown_0830037C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAAC, gUnknown_082FFAB4, }; -const union AnimCmd *const gUnknown_08300388[] = +static const union AnimCmd *const gUnknown_08300388[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFABC, gUnknown_082FFAC4, }; -const union AnimCmd *const gUnknown_08300394[] = +static const union AnimCmd *const gUnknown_08300394[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFACC, gUnknown_082FFAD4, }; -const union AnimCmd *const gUnknown_083003A0[] = +static const union AnimCmd *const gUnknown_083003A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFADC, }; -const union AnimCmd *const gUnknown_083003A8[] = +static const union AnimCmd *const gUnknown_083003A8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAE4, }; -const union AnimCmd *const gUnknown_083003B0[] = +static const union AnimCmd *const gUnknown_083003B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAEC, }; -const union AnimCmd *const gUnknown_083003B8[] = +static const union AnimCmd *const gUnknown_083003B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAF4, }; -const union AnimCmd *const gUnknown_083003C0[] = +static const union AnimCmd *const gUnknown_083003C0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFAFC, }; -const union AnimCmd *const gUnknown_083003C8[] = +static const union AnimCmd *const gUnknown_083003C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB04, gUnknown_082FFB0C, }; -const union AnimCmd *const gUnknown_083003D4[] = +static const union AnimCmd *const gUnknown_083003D4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB14, }; -const union AnimCmd *const gUnknown_083003DC[] = +static const union AnimCmd *const gUnknown_083003DC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB1C, gUnknown_082FFB24, }; -const union AnimCmd *const gUnknown_083003E8[] = +static const union AnimCmd *const gUnknown_083003E8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB2C, }; -const union AnimCmd *const gUnknown_083003F0[] = +static const union AnimCmd *const gUnknown_083003F0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB34, }; -const union AnimCmd *const gUnknown_083003F8[] = +static const union AnimCmd *const gUnknown_083003F8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB3C, }; -const union AnimCmd *const gUnknown_08300400[] = +static const union AnimCmd *const gUnknown_08300400[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB44, gUnknown_082FFB60, }; -const union AnimCmd *const gUnknown_0830040C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300410[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300414[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300418[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830041C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300420[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_0830040C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300410[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300414[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300418[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830041C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300420[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300424[] = +static const union AnimCmd *const gUnknown_08300424[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFB7C, gUnknown_082FFBBC, gUnknown_082FFBE0, gUnknown_082FFBF4, }; -const union AnimCmd *const gUnknown_08300438[] = +static const union AnimCmd *const gUnknown_08300438[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFBFC, gUnknown_082FFC04, }; -const union AnimCmd *const gUnknown_08300444[] = +static const union AnimCmd *const gUnknown_08300444[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC0C, }; -const union AnimCmd *const gUnknown_0830044C[] = +static const union AnimCmd *const gUnknown_0830044C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC14, }; -const union AnimCmd *const gUnknown_08300454[] = +static const union AnimCmd *const gUnknown_08300454[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC1C, }; -const union AnimCmd *const gUnknown_0830045C[] = +static const union AnimCmd *const gUnknown_0830045C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC24, }; -const union AnimCmd *const gUnknown_08300464[] = +static const union AnimCmd *const gUnknown_08300464[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC2C, }; -const union AnimCmd *const gUnknown_0830046C[] = +static const union AnimCmd *const gUnknown_0830046C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC34, }; -const union AnimCmd *const gUnknown_08300474[] = +static const union AnimCmd *const gUnknown_08300474[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC3C, gUnknown_082FFC58, }; -const union AnimCmd *const gUnknown_08300480[] = +static const union AnimCmd *const gUnknown_08300480[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC74, }; -const union AnimCmd *const gUnknown_08300488[] = +static const union AnimCmd *const gUnknown_08300488[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC7C, gUnknown_082FFC84, }; -const union AnimCmd *const gUnknown_08300494[] = +static const union AnimCmd *const gUnknown_08300494[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC8C, gUnknown_082FFC94, }; -const union AnimCmd *const gUnknown_083004A0[] = +static const union AnimCmd *const gUnknown_083004A0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFC9C, gUnknown_082FFCA4, }; -const union AnimCmd *const gUnknown_083004AC[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004AC[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004B0[] = +static const union AnimCmd *const gUnknown_083004B0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCAC, }; -const union AnimCmd *const gUnknown_083004B8[] = +static const union AnimCmd *const gUnknown_083004B8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCB4, }; -const union AnimCmd *const gUnknown_083004C0[] = +static const union AnimCmd *const gUnknown_083004C0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCBC, }; -const union AnimCmd *const gUnknown_083004C8[] = +static const union AnimCmd *const gUnknown_083004C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCC4, }; -const union AnimCmd *const gUnknown_083004D0[] = +static const union AnimCmd *const gUnknown_083004D0[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCCC, }; -const union AnimCmd *const gUnknown_083004D8[] = +static const union AnimCmd *const gUnknown_083004D8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCD4, }; -const union AnimCmd *const gUnknown_083004E0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004E8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004E0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004E8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004EC[] = +static const union AnimCmd *const gUnknown_083004EC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCDC, }; -const union AnimCmd *const gUnknown_083004F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083004F8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083004F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083004F8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083004FC[] = +static const union AnimCmd *const gUnknown_083004FC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCE4, }; -const union AnimCmd *const gUnknown_08300504[] = +static const union AnimCmd *const gUnknown_08300504[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCEC, gUnknown_082FFCF4, }; -const union AnimCmd *const gUnknown_08300510[] = +static const union AnimCmd *const gUnknown_08300510[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFCFC, }; -const union AnimCmd *const gUnknown_08300518[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830051C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300520[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300518[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830051C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300520[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_08300524[] = +static const union AnimCmd *const gUnknown_08300524[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD04, }; -const union AnimCmd *const gUnknown_0830052C[] = +static const union AnimCmd *const gUnknown_0830052C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD0C, }; -const union AnimCmd *const gUnknown_08300534[] = +static const union AnimCmd *const gUnknown_08300534[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD14, }; -const union AnimCmd *const gUnknown_0830053C[] = +static const union AnimCmd *const gUnknown_0830053C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD1C, gUnknown_082FFD24, gUnknown_082FFD2C, gUnknown_082FFD34, }; -const union AnimCmd *const gUnknown_08300550[] = +static const union AnimCmd *const gUnknown_08300550[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD3C, }; -const union AnimCmd *const gUnknown_08300558[] = +static const union AnimCmd *const gUnknown_08300558[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD44, }; -const union AnimCmd *const gUnknown_08300560[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300564[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300568[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830056C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300570[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300574[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300578[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300560[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300564[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300568[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830056C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300570[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300574[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300578[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830057C[] = +static const union AnimCmd *const gUnknown_0830057C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD4C, gUnknown_082FFD54, }; -const union AnimCmd *const gUnknown_08300588[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300588[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_0830058C[] = +static const union AnimCmd *const gUnknown_0830058C[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD5C, gUnknown_082FFD64, }; -const union AnimCmd *const gUnknown_08300598[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830059C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005A0[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_08300598[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830059C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005A0[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005A4[] = +static const union AnimCmd *const gUnknown_083005A4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD6C, }; -const union AnimCmd *const gUnknown_083005AC[] = +static const union AnimCmd *const gUnknown_083005AC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD74, }; -const union AnimCmd *const gUnknown_083005B4[] = +static const union AnimCmd *const gUnknown_083005B4[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD7C, gUnknown_082FFD84, }; -const union AnimCmd *const gUnknown_083005C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005C4[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005C0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005C4[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005C8[] = +static const union AnimCmd *const gUnknown_083005C8[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFD8C, gUnknown_082FFDA0, }; -const union AnimCmd *const gUnknown_083005D4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005D8[] = {gAnimCmd_General_Frame0}; +static const union AnimCmd *const gUnknown_083005D4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005D8[] = {sAnim_GeneralFrame0}; -const union AnimCmd *const gUnknown_083005DC[] = +static const union AnimCmd *const gUnknown_083005DC[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gUnknown_082FFDC4, }; -const union AnimCmd *const gUnknown_083005E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005E8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005EC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083005FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300600[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300604[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300608[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830060C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300610[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300614[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300618[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830061C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300620[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300624[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300628[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830062C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300630[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300634[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300638[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830063C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300640[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300644[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300648[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830064C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300650[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08300654[] = {gAnimCmd_General_Frame0}; - -const union AnimCmd *const *const gUnusedTrainerFrontAnimsPtrTable[] = +static const union AnimCmd *const gUnknown_083005E4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005E8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005EC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F0[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F4[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005F8[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_083005FC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300600[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300604[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300608[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830060C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300610[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300614[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300618[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830061C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300620[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300624[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300628[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830062C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300630[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300634[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300638[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830063C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300640[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300644[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300648[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_0830064C[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300650[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const gUnknown_08300654[] = {sAnim_GeneralFrame0}; + +const union AnimCmd *const *const gUnknownAnimsTable[] = { gUnknown_082FFDCC, gUnknown_082FFDD0, diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h index 1f048e440..5f79efc57 100644 --- a/src/data/text/item_descriptions.h +++ b/src/data/text/item_descriptions.h @@ -1,326 +1,1551 @@ -const u8 gDummyItemDescription[] = _("?????"); +static const u8 sDummyDesc[] = _( + "?????"); + // Pokeballs -const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail."); -const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL."); -const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL."); -const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMON."); -const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE."); -const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON."); -const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor."); -const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON."); -const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before."); -const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns."); -const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly."); -const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event."); +static const u8 sMasterBallDesc[] = _( + "The best BALL that\n" + "catches a POKéMON\n" + "without fail."); + +static const u8 sUltraBallDesc[] = _( + "A better BALL with\n" + "a higher catch rate\n" + "than a GREAT BALL."); + +static const u8 sGreatBallDesc[] = _( + "A good BALL with a\n" + "higher catch rate\n" + "than a POKé BALL."); + +static const u8 sPokeBallDesc[] = _( + "A tool used for\n" + "catching wild\n" + "POKéMON."); + +static const u8 sSafariBallDesc[] = _( + "A special BALL that\n" + "is used only in the\n" + "SAFARI ZONE."); + +static const u8 sNetBallDesc[] = _( + "A BALL that works\n" + "well on WATER- and\n" + "BUG-type POKéMON."); + +static const u8 sDiveBallDesc[] = _( + "A BALL that works\n" + "better on POKéMON\n" + "on the ocean floor."); + +static const u8 sNestBallDesc[] = _( + "A BALL that works\n" + "better on weaker\n" + "POKéMON."); + +static const u8 sRepeatBallDesc[] = _( + "A BALL that works\n" + "better on POKéMON\n" + "caught before."); + +static const u8 sTimerBallDesc[] = _( + "A BALL that gains\n" + "power in battles\n" + "taking many turns."); + +static const u8 sLuxuryBallDesc[] = _( + "A cozy BALL that\n" + "makes POKéMON\n" + "more friendly."); + +static const u8 sPremierBallDesc[] = _( + "A rare BALL made\n" + "in commemoration\n" + "of some event."); + // Medicine -const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points."); -const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON."); -const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn."); -const u8 gIceHealItemDescription[] = _("Defrosts a frozen\nPOKéMON."); -const u8 gAwakeningItemDescription[] = _("Awakens a sleeping\nPOKéMON."); -const u8 gParalyzeHealItemDescription[] = _("Heals a paralyzed\nPOKéMON."); -const u8 gFullRestoreItemDescription[] = _("Fully restores the\nHP and status of a\nPOKéMON."); -const u8 gMaxPotionItemDescription[] = _("Fully restores the\nHP of a POKéMON."); -const u8 gHyperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n200 points."); -const u8 gSuperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n50 points."); -const u8 gFullHealItemDescription[] = _("Heals all the\nstatus problems of\none POKéMON."); -const u8 gReviveItemDescription[] = _("Revives a fainted\nPOKéMON with half\nits HP."); -const u8 gMaxReviveItemDescription[] = _("Revives a fainted\nPOKéMON with all\nits HP."); -const u8 gFreshWaterItemDescription[] = _("A mineral water\nthat restores HP\nby 50 points."); -const u8 gSodaPopItemDescription[] = _("A fizzy soda drink\nthat restores HP\nby 60 points."); -const u8 gLemonadeItemDescription[] = _("A very sweet drink\nthat restores HP\nby 80 points."); -const u8 gMoomooMilkItemDescription[] = _("A nutritious milk\nthat restores HP\nby 100 points."); -const u8 gEnergyPowderItemDescription[] = _("A bitter powder\nthat restores HP\nby 50 points."); -const u8 gEnergyRootItemDescription[] = _("A bitter root\nthat restores HP\nby 200 points."); -const u8 gHealPowderItemDescription[] = _("A bitter powder\nthat heals all\nstatus problems."); -const u8 gRevivalHerbItemDescription[] = _("A very bitter herb\nthat revives a\nfainted POKéMON."); -const u8 gEtherItemDescription[] = _("Restores the PP\nof a selected move\nby 10."); -const u8 gMaxEtherItemDescription[] = _("Fully restores the\nPP of a selected\nmove."); -const u8 gElixirItemDescription[] = _("Restores the PP\nof all moves by 10."); -const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMON's\nmoves."); -const u8 gLavaCookieItemDescription[] = _("A local specialty\nthat heals all\nstatus problems."); -const u8 gBlueFluteItemDescription[] = _("A glass flute that\nawakens sleeping\nPOKéMON."); -const u8 gYellowFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of confusion."); -const u8 gRedFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of attraction."); -const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\nPOKéMON."); -const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON."); -const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points."); -const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON."); +static const u8 sPotionDesc[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "20 points."); + +static const u8 sAntidoteDesc[] = _( + "Heals a poisoned\n" + "POKéMON."); + +static const u8 sBurnHealDesc[] = _( + "Heals POKéMON\n" + "of a burn."); + +static const u8 sIceHealDesc[] = _( + "Defrosts a frozen\n" + "POKéMON."); + +static const u8 sAwakeningDesc[] = _( + "Awakens a sleeping\n" + "POKéMON."); + +static const u8 sParalyzeHealDesc[] = _( + "Heals a paralyzed\n" + "POKéMON."); + +static const u8 sFullRestoreDesc[] = _( + "Fully restores the\n" + "HP and status of a\n" + "POKéMON."); + +static const u8 sMaxPotionDesc[] = _( + "Fully restores the\n" + "HP of a POKéMON."); + +static const u8 sHyperPotionDesc[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "200 points."); + +static const u8 sSuperPotionDesc[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "50 points."); + +static const u8 sFullHealDesc[] = _( + "Heals all the\n" + "status problems of\n" + "one POKéMON."); + +static const u8 sReviveDesc[] = _( + "Revives a fainted\n" + "POKéMON with half\n" + "its HP."); + +static const u8 sMaxReviveDesc[] = _( + "Revives a fainted\n" + "POKéMON with all\n" + "its HP."); + +static const u8 sFreshWaterDesc[] = _( + "A mineral water\n" + "that restores HP\n" + "by 50 points."); + +static const u8 sSodaPopDesc[] = _( + "A fizzy soda drink\n" + "that restores HP\n" + "by 60 points."); + +static const u8 sLemonadeDesc[] = _( + "A very sweet drink\n" + "that restores HP\n" + "by 80 points."); + +static const u8 sMoomooMilkDesc[] = _( + "A nutritious milk\n" + "that restores HP\n" + "by 100 points."); + +static const u8 sEnergyPowderDesc[] = _( + "A bitter powder\n" + "that restores HP\n" + "by 50 points."); + +static const u8 sEnergyRootDesc[] = _( + "A bitter root\n" + "that restores HP\n" + "by 200 points."); + +static const u8 sHealPowderDesc[] = _( + "A bitter powder\n" + "that heals all\n" + "status problems."); + +static const u8 sRevivalHerbDesc[] = _( + "A very bitter herb\n" + "that revives a\n" + "fainted POKéMON."); + +static const u8 sEtherDesc[] = _( + "Restores the PP\n" + "of a selected move\n" + "by 10."); + +static const u8 sMaxEtherDesc[] = _( + "Fully restores the\n" + "PP of a selected\n" + "move."); + +static const u8 sElixirDesc[] = _( + "Restores the PP\n" + "of all moves by 10."); + +static const u8 sMaxElixirDesc[] = _( + "Fully restores the\n" + "PP of a POKéMON's\n" + "moves."); + +static const u8 sLavaCookieDesc[] = _( + "A local specialty\n" + "that heals all\n" + "status problems."); + +static const u8 sBlueFluteDesc[] = _( + "A glass flute that\n" + "awakens sleeping\n" + "POKéMON."); + +static const u8 sYellowFluteDesc[] = _( + "A glass flute that\n" + "snaps POKéMON\n" + "out of confusion."); + +static const u8 sRedFluteDesc[] = _( + "A glass flute that\n" + "snaps POKéMON\n" + "out of attraction."); + +static const u8 sBlackFluteDesc[] = _( + "A glass flute that\n" + "keeps away wild\n" + "POKéMON."); + +static const u8 sWhiteFluteDesc[] = _( + "A glass flute that\n" + "lures wild POKéMON."); + +static const u8 sBerryJuiceDesc[] = _( + "A 100% pure juice\n" + "that restores HP\n" + "by 20 points."); + +static const u8 sSacredAshDesc[] = _( + "Fully revives and\n" + "restores all\n" + "fainted POKéMON."); + // Collectibles -const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE."); -const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE."); -const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); -const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); -const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); -const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); +static const u8 sShoalSaltDesc[] = _( + "Salt obtained from\n" + "deep inside the\n" + "SHOAL CAVE."); + +static const u8 sShoalShellDesc[] = _( + "A seashell found\n" + "deep inside the\n" + "SHOAL CAVE."); + +static const u8 sRedShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + +static const u8 sBlueShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + +static const u8 sYellowShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + +static const u8 sGreenShardDesc[] = _( + "A shard from an\n" + "ancient item. Can\n" + "be sold cheaply."); + // Vitamins -const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON."); -const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON."); -const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON."); -const u8 gCarbosItemDescription[] = _("Raises the base\nSPEED stat of one\nPOKéMON."); -const u8 gCalciumItemDescription[] = _("Raises the base\nSP. ATK stat of one\nPOKéMON."); -const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\none."); -const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove."); -const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON."); -const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints."); +static const u8 sHPUpDesc[] = _( + "Raises the base HP\n" + "of one POKéMON."); + +static const u8 sProteinDesc[] = _( + "Raises the base\n" + "ATTACK stat of one\n" + "POKéMON."); + +static const u8 sIronDesc[] = _( + "Raises the base\n" + "DEFENSE stat of\n" + "one POKéMON."); + +static const u8 sCarbosDesc[] = _( + "Raises the base\n" + "SPEED stat of one\n" + "POKéMON."); + +static const u8 sCalciumDesc[] = _( + "Raises the base\n" + "SP. ATK stat of one\n" + "POKéMON."); + +static const u8 sRareCandyDesc[] = _( + "Raises the level\n" + "of a POKéMON by\n" + "one."); + +static const u8 sPPUpDesc[] = _( + "Raises the maximum\n" + "PP of a selected\n" + "move."); + +static const u8 sZincDesc[] = _( + "Raises the base\n" + "SP. DEF stat of one\n" + "POKéMON."); + +static const u8 sPPMaxDesc[] = _( + "Raises the PP of a\n" + "move to its maximum\n" + "points."); + // Battle items -const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle."); -const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle."); -const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle."); -const u8 gXDefendItemDescription[] = _("Raises the stat\nDEFENSE during one\nbattle."); -const u8 gXSpeedItemDescription[] = _("Raises the stat\nSPEED during one\nbattle."); -const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduring one battle."); -const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle."); -const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON."); -const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON."); +static const u8 sGuardSpecDesc[] = _( + "Prevents stat\n" + "reduction when\n" + "used in battle."); + +static const u8 sDireHitDesc[] = _( + "Raises the\n" + "critical-hit ratio\n" + "during one battle."); + +static const u8 sXAttackDesc[] = _( + "Raises the stat\n" + "ATTACK during one\n" + "battle."); + +static const u8 sXDefendDesc[] = _( + "Raises the stat\n" + "DEFENSE during one\n" + "battle."); + +static const u8 sXSpeedDesc[] = _( + "Raises the stat\n" + "SPEED during one\n" + "battle."); + +static const u8 sXAccuracyDesc[] = _( + "Raises accuracy\n" + "of attack moves\n" + "during one battle."); + +static const u8 sXSpecialDesc[] = _( + "Raises the stat\n" + "SP. ATK during one\n" + "battle."); + +static const u8 sPokeDollDesc[] = _( + "Use to flee from\n" + "any battle with\n" + "a wild POKéMON."); + +static const u8 sFluffyTailDesc[] = _( + "Use to flee from\n" + "any battle with\n" + "a wild POKéMON."); + // Field items -const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps."); -const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps."); -const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon."); -const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps."); +static const u8 sSuperRepelDesc[] = _( + "Repels weak wild\n" + "POKéMON for 200\n" + "steps."); + +static const u8 sMaxRepelDesc[] = _( + "Repels weak wild\n" + "POKéMON for 250\n" + "steps."); + +static const u8 sEscapeRopeDesc[] = _( + "Use to escape\n" + "instantly from a\n" + "cave or a dungeon."); + +static const u8 sRepelDesc[] = _( + "Repels weak wild\n" + "POKéMON for 100\n" + "steps."); + // Evolution stones -const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); -const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); +static const u8 sSunStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sMoonStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sFireStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sThunderStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sWaterStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 sLeafStoneDesc[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + // Valuable items -const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price."); -const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price."); -const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price."); -const u8 gBigPearlItemDescription[] = _("A lovely large pearl\nthat would sell at a\nhigh price."); -const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\nhigh price."); -const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price."); -const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price."); -const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors."); +static const u8 sTinyMushroomDesc[] = _( + "A plain mushroom\n" + "that would sell\n" + "at a cheap price."); + +static const u8 sBigMushroomDesc[] = _( + "A rare mushroom\n" + "that would sell at a\n" + "high price."); + +static const u8 sPearlDesc[] = _( + "A pretty pearl\n" + "that would sell at a\n" + "cheap price."); + +static const u8 sBigPearlDesc[] = _( + "A lovely large pearl\n" + "that would sell at a\n" + "high price."); + +static const u8 sStardustDesc[] = _( + "Beautiful red sand.\n" + "Can be sold at a\n" + "high price."); + +static const u8 sStarPieceDesc[] = _( + "A red gem shard.\n" + "It would sell for a\n" + "very high price."); + +static const u8 sNuggetDesc[] = _( + "A nugget of pure\n" + "gold. Can be sold at\n" + "a high price."); + +static const u8 sHeartScaleDesc[] = _( + "A lovely scale.\n" + "It is coveted by\n" + "collectors."); + // Mail -const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON."); -const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON."); -const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON."); -const u8 gMechMailItemDescription[] = _("A MAGNEMITE-print\nMAIL to be held by\na POKéMON."); -const u8 gWoodMailItemDescription[] = _("A SLAKOTH-print\nMAIL to be held by\na POKéMON."); -const u8 gWaveMailItemDescription[] = _("A WAILMER-print\nMAIL to be held by\na POKéMON."); -const u8 gBeadMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON."); -const u8 gShadowMailItemDescription[] = _("A DUSKULL-print\nMAIL to be held by\na POKéMON."); -const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by\na POKéMON."); -const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON."); -const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON."); -const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON."); +static const u8 sOrangeMailDesc[] = _( + "A ZIGZAGOON-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sHarborMailDesc[] = _( + "A WINGULL-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sGlitterMailDesc[] = _( + "A PIKACHU-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sMechMailDesc[] = _( + "A MAGNEMITE-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sWoodMailDesc[] = _( + "A SLAKOTH-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sWaveMailDesc[] = _( + "A WAILMER-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sBeadMailDesc[] = _( + "MAIL featuring a\n" + "sketch of the\n" + "holding POKéMON."); + +static const u8 sShadowMailDesc[] = _( + "A DUSKULL-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sTropicMailDesc[] = _( + "A BELLOSSOM-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 sDreamMailDesc[] = _( + "MAIL featuring a\n" + "sketch of the\n" + "holding POKéMON."); + +static const u8 sFabMailDesc[] = _( + "A gorgeous-print\n" + "MAIL to be held\n" + "by a POKéMON."); + +static const u8 sRetroMailDesc[] = _( + "MAIL featuring the\n" + "drawings of three\n" + "POKéMON."); + // Berries -const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle."); -const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle."); -const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle."); -const u8 gRawstBerryItemDescription[] = _("A hold item that\nheals a burn in\nbattle."); -const u8 gAspearBerryItemDescription[] = _("A hold item that\ndefrosts POKéMON\nin battle."); -const u8 gLeppaBerryItemDescription[] = _("A hold item that\nrestores 10 PP in\nbattle."); -const u8 gOranBerryItemDescription[] = _("A hold item that\nrestores 10 HP in\nbattle."); -const u8 gPersimBerryItemDescription[] = _("A hold item that\nheals confusion\nin battle."); -const u8 gLumBerryItemDescription[] = _("A hold item that\nheals any status\nproblem in battle."); -const u8 gSitrusBerryItemDescription[] = _("A hold item that\nrestores 30 HP in\nbattle."); -const u8 gFigyBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gWikiBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gMagoBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gAguavBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gIapapaBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); -const u8 gRazzBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RAZZ."); -const u8 gBlukBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BLUK."); -const u8 gNanabBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NANAB."); -const u8 gWepearBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WEPEAR."); -const u8 gPinapBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PINAP."); -const u8 gPomegBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase HP."); -const u8 gKelpsyBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase ATTACK."); -const u8 gQualotBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase DEFENSE."); -const u8 gHondewBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. ATK."); -const u8 gGrepaBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. DEF."); -const u8 gTamatoBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SPEED."); -const u8 gCornnBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow CORNN."); -const u8 gMagostBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow MAGOST."); -const u8 gRabutaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RABUTA."); -const u8 gNomelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NOMEL."); -const u8 gSpelonBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow SPELON."); -const u8 gPamtreBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PAMTRE."); -const u8 gWatmelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WATMEL."); -const u8 gDurinBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow DURIN."); -const u8 gBelueBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BELUE."); -const u8 gLiechiBerryItemDescription[] = _("A hold item that\nraises ATTACK in\na pinch."); -const u8 gGanlonBerryItemDescription[] = _("A hold item that\nraises DEFENSE in\na pinch."); -const u8 gSalacBerryItemDescription[] = _("A hold item that\nraises SPEED in\na pinch."); -const u8 gPetayaBerryItemDescription[] = _("A hold item that\nraises SP. ATK in\na pinch."); -const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\na pinch."); -const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch."); -const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch."); -const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery."); +static const u8 sCheriBerryDesc[] = _( + "A hold item that\n" + "heals paralysis\n" + "in battle."); + +static const u8 sChestoBerryDesc[] = _( + "A hold item that\n" + "awakens POKéMON\n" + "in battle."); + +static const u8 sPechaBerryDesc[] = _( + "A hold item that\n" + "heals poisoning\n" + "in battle."); + +static const u8 sRawstBerryDesc[] = _( + "A hold item that\n" + "heals a burn in\n" + "battle."); + +static const u8 sAspearBerryDesc[] = _( + "A hold item that\n" + "defrosts POKéMON\n" + "in battle."); + +static const u8 sLeppaBerryDesc[] = _( + "A hold item that\n" + "restores 10 PP in\n" + "battle."); + +static const u8 sOranBerryDesc[] = _( + "A hold item that\n" + "restores 10 HP in\n" + "battle."); + +static const u8 sPersimBerryDesc[] = _( + "A hold item that\n" + "heals confusion\n" + "in battle."); + +static const u8 sLumBerryDesc[] = _( + "A hold item that\n" + "heals any status\n" + "problem in battle."); + +static const u8 sSitrusBerryDesc[] = _( + "A hold item that\n" + "restores 30 HP in\n" + "battle."); + +static const u8 sFigyBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sWikiBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sMagoBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sAguavBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sIapapaBerryDesc[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 sRazzBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow RAZZ."); + +static const u8 sBlukBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow BLUK."); + +static const u8 sNanabBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow NANAB."); + +static const u8 sWepearBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow WEPEAR."); + +static const u8 sPinapBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow PINAP."); + +static const u8 sPomegBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base HP."); + +static const u8 sKelpsyBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base ATTACK."); + +static const u8 sQualotBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base DEFENSE."); + +static const u8 sHondewBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base SP. ATK."); + +static const u8 sGrepaBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base SP. DEF."); + +static const u8 sTamatoBerryDesc[] = _( + "Makes a POKéMON\n" + "friendly but lowers\n" + "base SPEED."); + +static const u8 sCornnBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow CORNN."); + +static const u8 sMagostBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow MAGOST."); + +static const u8 sRabutaBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow RABUTA."); + +static const u8 sNomelBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow NOMEL."); + +static const u8 sSpelonBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow SPELON."); + +static const u8 sPamtreBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow PAMTRE."); + +static const u8 sWatmelBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow WATMEL."); + +static const u8 sDurinBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow DURIN."); + +static const u8 sBelueBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow BELUE."); + +static const u8 sLiechiBerryDesc[] = _( + "A hold item that\n" + "raises ATTACK in\n" + "a pinch."); + +static const u8 sGanlonBerryDesc[] = _( + "A hold item that\n" + "raises DEFENSE in\n" + "a pinch."); + +static const u8 sSalacBerryDesc[] = _( + "A hold item that\n" + "raises SPEED in\n" + "a pinch."); + +static const u8 sPetayaBerryDesc[] = _( + "A hold item that\n" + "raises SP. ATK in\n" + "a pinch."); + +static const u8 sApicotBerryDesc[] = _( + "A hold item that\n" + "raises SP. DEF in\n" + "a pinch."); + +static const u8 sLansatBerryDesc[] = _( + "A hold item that\n" + "ups the critical-\n" + "hit rate in a pinch."); + +static const u8 sStarfBerryDesc[] = _( + "A hold item that\n" + "sharply boosts a\n" + "stat in a pinch."); + +static const u8 sEnigmaBerryDesc[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow a mystery."); + // Hold items -const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy."); -const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat."); -const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED."); -const u8 gExpShareItemDescription[] = _("A hold item that\ngets EXP. points\nfrom battles."); -const u8 gQuickClawItemDescription[] = _("A hold item that\noccasionally allows\nthe first strike."); -const u8 gSootheBellItemDescription[] = _("A hold item that\ncalms spirits and\nfosters friendship."); -const u8 gMentalHerbItemDescription[] = _("A hold item that\nsnaps POKéMON out\nof infatuation."); -const u8 gChoiceBandItemDescription[] = _("Raises a move's\npower, but permits\nonly that move."); -const u8 gKingsRockItemDescription[] = _("A hold item that\nmay cause flinching\nwhen the foe is hit."); -const u8 gSilverPowderItemDescription[] = _("A hold item that\nraises the power of\nBUG-type moves."); -const u8 gAmuletCoinItemDescription[] = _("Doubles money in\nbattle if the\nholder takes part."); -const u8 gCleanseTagItemDescription[] = _("A hold item that\nhelps repel wild\nPOKéMON."); -const u8 gSoulDewItemDescription[] = _("Hold item: raises\nSP. ATK & SP. DEF of\nLATIOS & LATIAS."); -const u8 gDeepSeaToothItemDescription[] = _("A hold item that\nraises the SP. ATK\nof CLAMPERL."); -const u8 gDeepSeaScaleItemDescription[] = _("A hold item that\nraises the SP. DEF\nof CLAMPERL."); -const u8 gSmokeBallItemDescription[] = _("A hold item that\nassures fleeing\nfrom wild POKéMON."); -const u8 gEverstoneItemDescription[] = _("A wondrous hold\nitem that prevents\nevolution."); -const u8 gFocusBandItemDescription[] = _("A hold item that\noccasionally\nprevents fainting."); -const u8 gLuckyEggItemDescription[] = _("A hold item that\nboosts EXP. points\nearned in battle."); -const u8 gScopeLensItemDescription[] = _("A hold item that\nimproves the\ncritical-hit rate."); -const u8 gMetalCoatItemDescription[] = _("A hold item that\nraises the power of\nSTEEL-type moves."); -const u8 gLeftoversItemDescription[] = _("A hold item that\ngradually restores\nHP in battle."); -const u8 gDragonScaleItemDescription[] = _("A strange scale\nheld by DRAGON-\ntype POKéMON."); -const u8 gLightBallItemDescription[] = _("A hold item that\nraises the SP. ATK\nof PIKACHU."); -const u8 gSoftSandItemDescription[] = _("A hold item that\nraises the power of\nGROUND-type moves."); -const u8 gHardStoneItemDescription[] = _("A hold item that\nraises the power of\nROCK-type moves."); -const u8 gMiracleSeedItemDescription[] = _("A hold item that\nraises the power of\nGRASS-type moves."); -const u8 gBlackGlassesItemDescription[] = _("A hold item that\nraises the power of\nDARK-type moves."); -const u8 gBlackBeltItemDescription[] = _("A hold item that\nboosts FIGHTING-\ntype moves."); -const u8 gMagnetItemDescription[] = _("A hold item that\nboosts ELECTRIC-\ntype moves."); -const u8 gMysticWaterItemDescription[] = _("A hold item that\nraises the power of\nWATER-type moves."); -const u8 gSharpBeakItemDescription[] = _("A hold item that\nraises the power of\nFLYING-type moves."); -const u8 gPoisonBarbItemDescription[] = _("A hold item that\nraises the power of\nPOISON-type moves."); -const u8 gNeverMeltIceItemDescription[] = _("A hold item that\nraises the power of\nICE-type moves."); -const u8 gSpellTagItemDescription[] = _("A hold item that\nraises the power of\nGHOST-type moves."); -const u8 gTwistedSpoonItemDescription[] = _("A hold item that\nboosts PSYCHIC-\ntype moves."); -const u8 gCharcoalItemDescription[] = _("A hold item that\nraises the power of\nFIRE-type moves."); -const u8 gDragonFangItemDescription[] = _("A hold item that\nraises the power of\nDRAGON-type moves."); -const u8 gSilkScarfItemDescription[] = _("A hold item that\nraises the power of\nNORMAL-type moves."); -const u8 gUpGradeItemDescription[] = _("A peculiar box made\nby SILPH CO."); -const u8 gShellBellItemDescription[] = _("A hold item that\nrestores HP upon\nstriking the foe."); -const u8 gSeaIncenseItemDescription[] = _("A hold item that\nslightly boosts\nWATER-type moves."); -const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoe's accuracy."); -const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEY's\ncritical-hit rate."); -const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTO's\nDEFENSE."); -const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAK's ATTACK."); -const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCH'D's\ncritical-hit ratio."); -const u8 gRedScarfItemDescription[] = _("A hold item that\nraises COOL in\nCONTESTS."); -const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCONTESTS."); -const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS."); -const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS."); -const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS."); +static const u8 sBrightPowderDesc[] = _( + "A hold item that\n" + "casts a glare to\n" + "reduce accuracy."); + +static const u8 sWhiteHerbDesc[] = _( + "A hold item that\n" + "restores any\n" + "lowered stat."); + +static const u8 sMachoBraceDesc[] = _( + "A hold item that\n" + "promotes growth,\n" + "but reduces SPEED."); + +static const u8 sExpShareDesc[] = _( + "A hold item that\n" + "gets EXP. points\n" + "from battles."); + +static const u8 sQuickClawDesc[] = _( + "A hold item that\n" + "occasionally allows\n" + "the first strike."); + +static const u8 sSootheBellDesc[] = _( + "A hold item that\n" + "calms spirits and\n" + "fosters friendship."); + +static const u8 sMentalHerbDesc[] = _( + "A hold item that\n" + "snaps POKéMON out\n" + "of infatuation."); + +static const u8 sChoiceBandDesc[] = _( + "Raises a move's\n" + "power, but permits\n" + "only that move."); + +static const u8 sKingsRockDesc[] = _( + "A hold item that\n" + "may cause flinching\n" + "when the foe is hit."); + +static const u8 sSilverPowderDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "BUG-type moves."); + +static const u8 sAmuletCoinDesc[] = _( + "Doubles money in\n" + "battle if the\n" + "holder takes part."); + +static const u8 sCleanseTagDesc[] = _( + "A hold item that\n" + "helps repel wild\n" + "POKéMON."); + +static const u8 sSoulDewDesc[] = _( + "Hold item: raises\n" + "SP. ATK & SP. DEF of\n" + "LATIOS & LATIAS."); + +static const u8 sDeepSeaToothDesc[] = _( + "A hold item that\n" + "raises the SP. ATK\n" + "of CLAMPERL."); + +static const u8 sDeepSeaScaleDesc[] = _( + "A hold item that\n" + "raises the SP. DEF\n" + "of CLAMPERL."); + +static const u8 sSmokeBallDesc[] = _( + "A hold item that\n" + "assures fleeing\n" + "from wild POKéMON."); + +static const u8 sEverstoneDesc[] = _( + "A wondrous hold\n" + "item that prevents\n" + "evolution."); + +static const u8 sFocusBandDesc[] = _( + "A hold item that\n" + "occasionally\n" + "prevents fainting."); + +static const u8 sLuckyEggDesc[] = _( + "A hold item that\n" + "boosts EXP. points\n" + "earned in battle."); + +static const u8 sScopeLensDesc[] = _( + "A hold item that\n" + "improves the\n" + "critical-hit rate."); + +static const u8 sMetalCoatDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "STEEL-type moves."); + +static const u8 sLeftoversDesc[] = _( + "A hold item that\n" + "gradually restores\n" + "HP in battle."); + +static const u8 sDragonScaleDesc[] = _( + "A strange scale\n" + "held by DRAGON-\n" + "type POKéMON."); + +static const u8 sLightBallDesc[] = _( + "A hold item that\n" + "raises the SP. ATK\n" + "of PIKACHU."); + +static const u8 sSoftSandDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "GROUND-type moves."); + +static const u8 sHardStoneDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "ROCK-type moves."); + +static const u8 sMiracleSeedDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "GRASS-type moves."); + +static const u8 sBlackGlassesDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "DARK-type moves."); + +static const u8 sBlackBeltDesc[] = _( + "A hold item that\n" + "boosts FIGHTING-\n" + "type moves."); + +static const u8 sMagnetDesc[] = _( + "A hold item that\n" + "boosts ELECTRIC-\n" + "type moves."); + +static const u8 sMysticWaterDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "WATER-type moves."); + +static const u8 sSharpBeakDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "FLYING-type moves."); + +static const u8 sPoisonBarbDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "POISON-type moves."); + +static const u8 sNeverMeltIceDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "ICE-type moves."); + +static const u8 sSpellTagDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "GHOST-type moves."); + +static const u8 sTwistedSpoonDesc[] = _( + "A hold item that\n" + "boosts PSYCHIC-\n" + "type moves."); + +static const u8 sCharcoalDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "FIRE-type moves."); + +static const u8 sDragonFangDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "DRAGON-type moves."); + +static const u8 sSilkScarfDesc[] = _( + "A hold item that\n" + "raises the power of\n" + "NORMAL-type moves."); + +static const u8 sUpGradeDesc[] = _( + "A peculiar box made\n" + "by SILPH CO."); + +static const u8 sShellBellDesc[] = _( + "A hold item that\n" + "restores HP upon\n" + "striking the foe."); + +static const u8 sSeaIncenseDesc[] = _( + "A hold item that\n" + "slightly boosts\n" + "WATER-type moves."); + +static const u8 sLaxIncenseDesc[] = _( + "A hold item that\n" + "slightly lowers the\n" + "foe's accuracy."); + +static const u8 sLuckyPunchDesc[] = _( + "A hold item that\n" + "raises CHANSEY's\n" + "critical-hit rate."); + +static const u8 sMetalPowderDesc[] = _( + "A hold item that\n" + "raises DITTO's\n" + "DEFENSE."); + +static const u8 sThickClubDesc[] = _( + "A hold item that \n" + "raises CUBONE or\n" + "MAROWAK's ATTACK."); + +static const u8 sStickDesc[] = _( + "A hold item that\n" + "raises FARFETCH'D's\n" + "critical-hit ratio."); + +static const u8 sRedScarfDesc[] = _( + "A hold item that\n" + "raises COOL in\n" + "CONTESTS."); + +static const u8 sBlueScarfDesc[] = _( + "A hold item that\n" + "raises BEAUTY in\n" + "CONTESTS."); + +static const u8 sPinkScarfDesc[] = _( + "A hold item that\n" + "raises CUTE in\n" + "CONTESTS."); + +static const u8 sGreenScarfDesc[] = _( + "A hold item that\n" + "raises SMART in\n" + "CONTESTS."); + +static const u8 sYellowScarfDesc[] = _( + "A hold item that\n" + "raises TOUGH in\n" + "CONTESTS."); + // Key items -const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better."); -const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS."); -const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound."); -const u8 gOldRodItemDescription[] = _("Use by any body of\nwater to fish for\nwild POKéMON."); -const u8 gGoodRodItemDescription[] = _("A decent fishing\nrod for catching\nwild POKéMON."); -const u8 gSuperRodItemDescription[] = _("The best fishing\nrod for catching\nwild POKéMON."); -const u8 gSSTicketItemDescription[] = _("The ticket required\nfor sailing on a\nferry."); -const u8 gContestPassItemDescription[] = _("The pass required\nfor entering\nPOKéMON CONTESTS."); -const u8 gWailmerPailItemDescription[] = _("A tool used for\nwatering BERRIES\nand plants."); -const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVON's\nmachine parts."); -const u8 gSootSackItemDescription[] = _("A sack used to\ngather and hold\nvolcanic ash."); -const u8 gBasementKeyItemDescription[] = _("The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY."); -const u8 gAcroBikeItemDescription[] = _("A folding bicycle\ncapable of jumps\nand wheelies."); -const u8 gPokeblockCaseItemDescription[] = _("A case for holding\n{POKEBLOCK}S made with\na BERRY BLENDER."); -const u8 gLetterItemDescription[] = _("A letter to STEVEN\nfrom the PRESIDENT\nof the DEVON CORP."); -const u8 gEonTicketItemDescription[] = _("The ticket for a\nferry to a distant\nsouthern island."); -const u8 gRedOrbItemDescription[] = _("A red, glowing orb\nsaid to contain an\nancient power."); -const u8 gBlueOrbItemDescription[] = _("A blue, glowing orb\nsaid to contain an\nancient power."); -const u8 gScannerItemDescription[] = _("A device found\ninside the\nABANDONED SHIP."); -const u8 gGoGogglesItemDescription[] = _("Nifty goggles that\nprotect eyes from\ndesert sandstorms."); -const u8 gMeteoriteItemDescription[] = _("A meteorite found\nat METEOR FALLS."); -const u8 gRoom1KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gRoom2KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gRoom4KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gRoom6KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); -const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nABANDONED SHIP."); -const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON."); -const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON."); -const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON."); +static const u8 sMachBikeDesc[] = _( + "A folding bicycle\n" + "that doubles your\n" + "speed or better."); + +static const u8 sCoinCaseDesc[] = _( + "A case that holds\n" + "up to 9,999 COINS."); + +static const u8 sItemfinderDesc[] = _( + "A device that\n" + "signals an invisible\n" + "item by sound."); + +static const u8 sOldRodDesc[] = _( + "Use by any body of\n" + "water to fish for\n" + "wild POKéMON."); + +static const u8 sGoodRodDesc[] = _( + "A decent fishing\n" + "rod for catching\n" + "wild POKéMON."); + +static const u8 sSuperRodDesc[] = _( + "The best fishing\n" + "rod for catching\n" + "wild POKéMON."); + +static const u8 sSSTicketDesc[] = _( + "The ticket required\n" + "for sailing on a\n" + "ferry."); + +static const u8 sContestPassDesc[] = _( + "The pass required\n" + "for entering\n" + "POKéMON CONTESTS."); + +static const u8 sWailmerPailDesc[] = _( + "A tool used for\n" + "watering BERRIES\n" + "and plants."); + +static const u8 sDevonGoodsDesc[] = _( + "A package that\n" + "contains DEVON's\n" + "machine parts."); + +static const u8 sSootSackDesc[] = _( + "A sack used to\n" + "gather and hold\n" + "volcanic ash."); + +static const u8 sBasementKeyDesc[] = _( + "The key for NEW\n" + "MAUVILLE beneath\n" + "MAUVILLE CITY."); + +static const u8 sAcroBikeDesc[] = _( + "A folding bicycle\n" + "capable of jumps\n" + "and wheelies."); + +static const u8 sPokeblockCaseDesc[] = _( + "A case for holding\n" + "{POKEBLOCK}S made with\n" + "a BERRY BLENDER."); + +static const u8 sLetterDesc[] = _( + "A letter to STEVEN\n" + "from the PRESIDENT\n" + "of the DEVON CORP."); + +static const u8 sEonTicketDesc[] = _( + "The ticket for a\n" + "ferry to a distant\n" + "southern island."); + +static const u8 sRedOrbDesc[] = _( + "A red, glowing orb\n" + "said to contain an\n" + "ancient power."); + +static const u8 sBlueOrbDesc[] = _( + "A blue, glowing orb\n" + "said to contain an\n" + "ancient power."); + +static const u8 sScannerDesc[] = _( + "A device found\n" + "inside the\n" + "ABANDONED SHIP."); + +static const u8 sGoGogglesDesc[] = _( + "Nifty goggles that\n" + "protect eyes from\n" + "desert sandstorms."); + +static const u8 sMeteoriteDesc[] = _( + "A meteorite found\n" + "at METEOR FALLS."); + +static const u8 sRoom1KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sRoom2KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sRoom4KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sRoom6KeyDesc[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 sStorageKeyDesc[] = _( + "The key to the\n" + "storage inside the\n" + "ABANDONED SHIP."); + +static const u8 sRootFossilDesc[] = _( + "A fossil of an\n" + "ancient, seafloor-\n" + "dwelling POKéMON."); + +static const u8 sClawFossilDesc[] = _( + "A fossil of an\n" + "ancient, seafloor-\n" + "dwelling POKéMON."); + +static const u8 sDevonScopeDesc[] = _( + "A device by DEVON\n" + "that signals any\n" + "unseeable POKéMON."); + // TMs/HMs -const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe."); -const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws."); -const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse."); -const u8 gTM04ItemDescription[] = _("Raises SP. ATK and\nSP. DEF by focusing\nthe mind."); -const u8 gTM05ItemDescription[] = _("A savage roar that\nmakes the foe flee \nto end the battle."); -const u8 gTM06ItemDescription[] = _("Poisons the foe\nwith a toxin that\ngradually worsens."); -const u8 gTM07ItemDescription[] = _("Creates a hailstorm\nthat damages all\ntypes except ICE."); -const u8 gTM08ItemDescription[] = _("Bulks up the body\nto boost both\nATTACK & DEFENSE."); -const u8 gTM09ItemDescription[] = _("Shoots 2 to 5 seeds\nin a row to strike\nthe foe."); -const u8 gTM10ItemDescription[] = _("The attack power\nvaries among\ndifferent POKéMON."); -const u8 gTM11ItemDescription[] = _("Raises the power of\nFIRE-type moves\nfor 5 turns."); -const u8 gTM12ItemDescription[] = _("Enrages the foe so\nit can only use\nattack moves."); -const u8 gTM13ItemDescription[] = _("Fires an icy cold\nbeam that may\nfreeze the foe."); -const u8 gTM14ItemDescription[] = _("A brutal snow-and-\nwind attack that\nmay freeze the foe."); -const u8 gTM15ItemDescription[] = _("Powerful, but needs\nrecharging the\nnext turn."); -const u8 gTM16ItemDescription[] = _("Creates a wall of\nlight that lowers\nSP. ATK damage."); -const u8 gTM17ItemDescription[] = _("Negates all damage,\nbut may fail if used\nin succession."); -const u8 gTM18ItemDescription[] = _("Raises the power of\nWATER-type moves\nfor 5 turns."); -const u8 gTM19ItemDescription[] = _("Recovers half the\nHP of the damage \nthis move inflicts."); -const u8 gTM20ItemDescription[] = _("Prevents status\nabnormality with a\nmystical power."); -const u8 gTM21ItemDescription[] = _("The less the user\nlikes you, the more\npowerful this move."); -const u8 gTM22ItemDescription[] = _("Absorbs sunlight in\nthe 1st turn, then\nattacks next turn."); -const u8 gTM23ItemDescription[] = _("Slams the foe with\na hard tail. It may\nlower DEFENSE."); -const u8 gTM24ItemDescription[] = _("A powerful electric\nattack that may\ncause paralysis."); -const u8 gTM25ItemDescription[] = _("Strikes the foe\nwith a thunderbolt.\nIt may paralyze."); -const u8 gTM26ItemDescription[] = _("Causes a quake\nthat has no effect\non flying foes."); -const u8 gTM27ItemDescription[] = _("The more the user\nlikes you, the more\npowerful this move."); -const u8 gTM28ItemDescription[] = _("Digs underground\nthe 1st turn, then\nstrikes next turn."); -const u8 gTM29ItemDescription[] = _("A powerful psychic\nattack that may\nlower SP. DEF."); -const u8 gTM30ItemDescription[] = _("Hurls a dark lump\nat the foe. It may\nlower SP. DEF."); -const u8 gTM31ItemDescription[] = _("Destroys barriers\nlike LIGHT SCREEN\nand causes damage."); -const u8 gTM32ItemDescription[] = _("Creates illusory\ncopies to enhance\nelusiveness."); -const u8 gTM33ItemDescription[] = _("Creates a wall of\nlight that weakens\nphysical attacks."); -const u8 gTM34ItemDescription[] = _("Zaps the foe with a\njolt of electricity\nthat never misses."); -const u8 gTM35ItemDescription[] = _("Looses a stream of\nfire that may burn\nthe foe."); -const u8 gTM36ItemDescription[] = _("Hurls sludge at the\nfoe. It may poison\nthe foe."); -const u8 gTM37ItemDescription[] = _("Causes a sandstorm\nthat hits the foe\nover several turns."); -const u8 gTM38ItemDescription[] = _("A powerful fire\nattack that may\nburn the foe."); -const u8 gTM39ItemDescription[] = _("Stops the foe from\nmoving with rocks.\nMay lower SPEED."); -const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that can't\nbe avoided."); -const u8 gTM41ItemDescription[] = _("Prevents the foe\nfrom using the same\nmove in a row."); -const u8 gTM42ItemDescription[] = _("Raises ATTACK when\npoisoned, burned,\nor paralyzed."); -const u8 gTM43ItemDescription[] = _("Adds an effect to\nattack depending\non the location."); -const u8 gTM44ItemDescription[] = _("The user sleeps for\n2 turns to restore\nhealth and status."); -const u8 gTM45ItemDescription[] = _("Makes it tough to\nattack a foe of the\nopposite gender."); -const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoe's held item."); -const u8 gTM47ItemDescription[] = _("Spreads hard-\nedged wings and\nslams into the foe."); -const u8 gTM48ItemDescription[] = _("Switches abilities\nwith the foe on the\nturn this is used."); -const u8 gTM49ItemDescription[] = _("Steals the effects\nof the move the foe\nis trying to use."); -const u8 gTM50ItemDescription[] = _("Enables full-power\nattack, but sharply\nlowers SP. ATK."); - -const u8 gHM01ItemDescription[] = _("Attacks the foe\nwith sharp blades\nor claws."); -const u8 gHM02ItemDescription[] = _("Flies up on the\nfirst turn, then\nattacks next turn."); -const u8 gHM03ItemDescription[] = _("Creates a huge\nwave, then crashes\nit down on the foe."); -const u8 gHM04ItemDescription[] = _("Builds enormous\npower, then slams\nthe foe."); -const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nreduces accuracy."); -const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE."); -const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls."); -const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn."); +static const u8 sTM01Desc[] = _( + "Powerful, but makes\n" + "the user flinch if\n" + "hit by the foe."); + +static const u8 sTM02Desc[] = _( + "Hooks and slashes\n" + "the foe with long,\n" + "sharp claws."); + +static const u8 sTM03Desc[] = _( + "Generates an\n" + "ultrasonic wave\n" + "that may confuse."); + +static const u8 sTM04Desc[] = _( + "Raises SP. ATK and\n" + "SP. DEF by focusing\n" + "the mind."); + +static const u8 sTM05Desc[] = _( + "A savage roar that\n" + "makes the foe flee \n" + "to end the battle."); + +static const u8 sTM06Desc[] = _( + "Poisons the foe\n" + "with a toxin that\n" + "gradually worsens."); + +static const u8 sTM07Desc[] = _( + "Creates a hailstorm\n" + "that damages all\n" + "types except ICE."); + +static const u8 sTM08Desc[] = _( + "Bulks up the body\n" + "to boost both\n" + "ATTACK & DEFENSE."); + +static const u8 sTM09Desc[] = _( + "Shoots 2 to 5 seeds\n" + "in a row to strike\n" + "the foe."); + +static const u8 sTM10Desc[] = _( + "The attack power\n" + "varies among\n" + "different POKéMON."); + +static const u8 sTM11Desc[] = _( + "Raises the power of\n" + "FIRE-type moves\n" + "for 5 turns."); + +static const u8 sTM12Desc[] = _( + "Enrages the foe so\n" + "it can only use\n" + "attack moves."); + +static const u8 sTM13Desc[] = _( + "Fires an icy cold\n" + "beam that may\n" + "freeze the foe."); + +static const u8 sTM14Desc[] = _( + "A brutal snow-and-\n" + "wind attack that\n" + "may freeze the foe."); + +static const u8 sTM15Desc[] = _( + "Powerful, but needs\n" + "recharging the\n" + "next turn."); + +static const u8 sTM16Desc[] = _( + "Creates a wall of\n" + "light that lowers\n" + "SP. ATK damage."); + +static const u8 sTM17Desc[] = _( + "Negates all damage,\n" + "but may fail if used\n" + "in succession."); + +static const u8 sTM18Desc[] = _( + "Raises the power of\n" + "WATER-type moves\n" + "for 5 turns."); + +static const u8 sTM19Desc[] = _( + "Recovers half the\n" + "HP of the damage \n" + "this move inflicts."); + +static const u8 sTM20Desc[] = _( + "Prevents status\n" + "abnormality with a\n" + "mystical power."); + +static const u8 sTM21Desc[] = _( + "The less the user\n" + "likes you, the more\n" + "powerful this move."); + +static const u8 sTM22Desc[] = _( + "Absorbs sunlight in\n" + "the 1st turn, then\n" + "attacks next turn."); + +static const u8 sTM23Desc[] = _( + "Slams the foe with\n" + "a hard tail. It may\n" + "lower DEFENSE."); + +static const u8 sTM24Desc[] = _( + "A powerful electric\n" + "attack that may\n" + "cause paralysis."); + +static const u8 sTM25Desc[] = _( + "Strikes the foe\n" + "with a thunderbolt.\n" + "It may paralyze."); + +static const u8 sTM26Desc[] = _( + "Causes a quake\n" + "that has no effect\n" + "on flying foes."); + +static const u8 sTM27Desc[] = _( + "The more the user\n" + "likes you, the more\n" + "powerful this move."); + +static const u8 sTM28Desc[] = _( + "Digs underground\n" + "the 1st turn, then\n" + "strikes next turn."); + +static const u8 sTM29Desc[] = _( + "A powerful psychic\n" + "attack that may\n" + "lower SP. DEF."); + +static const u8 sTM30Desc[] = _( + "Hurls a dark lump\n" + "at the foe. It may\n" + "lower SP. DEF."); + +static const u8 sTM31Desc[] = _( + "Destroys barriers\n" + "like LIGHT SCREEN\n" + "and causes damage."); + +static const u8 sTM32Desc[] = _( + "Creates illusory\n" + "copies to enhance\n" + "elusiveness."); + +static const u8 sTM33Desc[] = _( + "Creates a wall of\n" + "light that weakens\n" + "physical attacks."); + +static const u8 sTM34Desc[] = _( + "Zaps the foe with a\n" + "jolt of electricity\n" + "that never misses."); + +static const u8 sTM35Desc[] = _( + "Looses a stream of\n" + "fire that may burn\n" + "the foe."); + +static const u8 sTM36Desc[] = _( + "Hurls sludge at the\n" + "foe. It may poison\n" + "the foe."); + +static const u8 sTM37Desc[] = _( + "Causes a sandstorm\n" + "that hits the foe\n" + "over several turns."); + +static const u8 sTM38Desc[] = _( + "A powerful fire\n" + "attack that may\n" + "burn the foe."); + +static const u8 sTM39Desc[] = _( + "Stops the foe from\n" + "moving with rocks.\n" + "May lower SPEED."); + +static const u8 sTM40Desc[] = _( + "An extremely fast\n" + "attack that can't\n" + "be avoided."); + +static const u8 sTM41Desc[] = _( + "Prevents the foe\n" + "from using the same\n" + "move in a row."); + +static const u8 sTM42Desc[] = _( + "Raises ATTACK when\n" + "poisoned, burned,\n" + "or paralyzed."); + +static const u8 sTM43Desc[] = _( + "Adds an effect to\n" + "attack depending\n" + "on the location."); + +static const u8 sTM44Desc[] = _( + "The user sleeps for\n" + "2 turns to restore\n" + "health and status."); + +static const u8 sTM45Desc[] = _( + "Makes it tough to\n" + "attack a foe of the\n" + "opposite gender."); + +static const u8 sTM46Desc[] = _( + "While attacking,\n" + "it may steal the\n" + "foe's held item."); + +static const u8 sTM47Desc[] = _( + "Spreads hard-\n" + "edged wings and\n" + "slams into the foe."); + +static const u8 sTM48Desc[] = _( + "Switches abilities\n" + "with the foe on the\n" + "turn this is used."); + +static const u8 sTM49Desc[] = _( + "Steals the effects\n" + "of the move the foe\n" + "is trying to use."); + +static const u8 sTM50Desc[] = _( + "Enables full-power\n" + "attack, but sharply\n" + "lowers SP. ATK."); + + +static const u8 sHM01Desc[] = _( + "Attacks the foe\n" + "with sharp blades\n" + "or claws."); + +static const u8 sHM02Desc[] = _( + "Flies up on the\n" + "first turn, then\n" + "attacks next turn."); + +static const u8 sHM03Desc[] = _( + "Creates a huge\n" + "wave, then crashes\n" + "it down on the foe."); + +static const u8 sHM04Desc[] = _( + "Builds enormous\n" + "power, then slams\n" + "the foe."); + +static const u8 sHM05Desc[] = _( + "Looses a powerful\n" + "blast of light that\n" + "reduces accuracy."); + +static const u8 sHM06Desc[] = _( + "A rock-crushingly\n" + "tough attack that\n" + "may lower DEFENSE."); + +static const u8 sHM07Desc[] = _( + "Attacks the foe\n" + "with enough power\n" + "to climb waterfalls."); + +static const u8 sHM08Desc[] = _( + "Dives underwater\n" + "the 1st turn, then\n" + "attacks next turn."); + // FireRed/LeafGreen key items -const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART's clerk."); -const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON."); -const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM's entrance."); -const u8 gBikeVoucherItemDescription[] = _("A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP."); -const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONE's WARDEN."); -const u8 gOldAmberItemDescription[] = _("A stone containing\nthe genes of an\nancient POKéMON."); -const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCO's office."); -const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKET's HIDEOUT."); -const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON's seashell."); -const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON's shell."); -const u8 gSilphScopeItemDescription[] = _("SILPH CO's scope\nmakes unseeable\nPOKéMON visible."); -const u8 gBicycleItemDescription[] = _("A folding bicycle\nthat is faster than\nthe RUNNING SHOES."); -const u8 gTownMapItemDescription[] = _("Can be viewed\nanytime. Shows your\npresent location."); -const u8 gVSSeekerItemDescription[] = _("A rechargeable unit\nthat flags battle-\nready TRAINERS."); -const u8 gFameCheckerItemDescription[] = _("Stores information\non famous people\nfor instant recall."); -const u8 gTMCaseItemDescription[] = _("A convenient case \nthat holds TMs and\nHMs."); -const u8 gBerryPouchItemDescription[] = _("A convenient\ncontainer that\nholds BERRIES."); -const u8 gTeachyTVItemDescription[] = _("A TV set tuned to\nan advice program\nfor TRAINERS."); -const u8 gTriPassItemDescription[] = _("A pass for ferries\nbetween ONE, TWO,\nand THREE ISLAND."); -const u8 gRainbowPassItemDescription[] = _("For ferries serving\nVERMILION and the\nSEVII ISLANDS."); -const u8 gTeaItemDescription[] = _("A thirst-quenching\ntea prepared by an\nold lady."); -const u8 gMysticTicketItemDescription[] = _("A ticket required\nto board the ship\nto NAVEL ROCK."); -const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the ship\nto BIRTH ISLAND."); -const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER."); -const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion."); -const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty."); +static const u8 sOaksParcelDesc[] = _( + "A parcel for PROF.\n" + "OAK from a POKéMON\n" + "MART's clerk."); + +static const u8 sPokeFluteDesc[] = _( + "A sweet-sounding\n" + "flute that awakens\n" + "POKéMON."); + +static const u8 sSecretKeyDesc[] = _( + "The key to the\n" + "CINNABAR ISLAND\n" + "GYM's entrance."); + +static const u8 sBikeVoucherDesc[] = _( + "A voucher for\n" + "obtaining a bicycle\n" + "from the BIKE SHOP."); + +static const u8 sGoldTeethDesc[] = _( + "Gold dentures lost\n" + "by the SAFARI\n" + "ZONE's WARDEN."); + +static const u8 sOldAmberDesc[] = _( + "A stone containing\n" + "the genes of an\n" + "ancient POKéMON."); + +static const u8 sCardKeyDesc[] = _( + "A card-type door\n" + "key used in SILPH\n" + "CO's office."); + +static const u8 sLiftKeyDesc[] = _( + "An elevator key\n" + "used in TEAM\n" + "ROCKET's HIDEOUT."); + +static const u8 sHelixFossilDesc[] = _( + "A piece of an\n" + "ancient marine\n" + "POKéMON's seashell."); + +static const u8 sDomeFossilDesc[] = _( + "A piece of an\n" + "ancient marine\n" + "POKéMON's shell."); + +static const u8 sSilphScopeDesc[] = _( + "SILPH CO's scope\n" + "makes unseeable\n" + "POKéMON visible."); + +static const u8 sBicycleDesc[] = _( + "A folding bicycle\n" + "that is faster than\n" + "the RUNNING SHOES."); + +static const u8 sTownMapDesc[] = _( + "Can be viewed\n" + "anytime. Shows your\n" + "present location."); + +static const u8 sVSSeekerDesc[] = _( + "A rechargeable unit\n" + "that flags battle-\n" + "ready TRAINERS."); + +static const u8 sFameCheckerDesc[] = _( + "Stores information\n" + "on famous people\n" + "for instant recall."); + +static const u8 sTMCaseDesc[] = _( + "A convenient case \n" + "that holds TMs and\n" + "HMs."); + +static const u8 sBerryPouchDesc[] = _( + "A convenient\n" + "container that\n" + "holds BERRIES."); + +static const u8 sTeachyTVDesc[] = _( + "A TV set tuned to\n" + "an advice program\n" + "for TRAINERS."); + +static const u8 sTriPassDesc[] = _( + "A pass for ferries\n" + "between ONE, TWO,\n" + "and THREE ISLAND."); + +static const u8 sRainbowPassDesc[] = _( + "For ferries serving\n" + "VERMILION and the\n" + "SEVII ISLANDS."); + +static const u8 sTeaDesc[] = _( + "A thirst-quenching\n" + "tea prepared by an\n" + "old lady."); + +static const u8 sMysticTicketDesc[] = _( + "A ticket required\n" + "to board the ship\n" + "to NAVEL ROCK."); + +static const u8 sAuroraTicketDesc[] = _( + "A ticket required\n" + "to board the ship\n" + "to BIRTH ISLAND."); + +static const u8 sPowderJarDesc[] = _( + "Stores BERRY\n" + "POWDER made using\n" + "a BERRY CRUSHER."); + +static const u8 sRubyDesc[] = _( + "An exquisite, red-\n" + "glowing gem that\n" + "symbolizes passion."); + +static const u8 sSapphireDesc[] = _( + "A brilliant blue gem\n" + "that symbolizes\n" + "honesty."); + // Emerald-specific key items -const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA's mark."); -const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island."); +static const u8 sMagmaEmblemDesc[] = _( + "A medal-like item in\n" + "the same shape as\n" + "TEAM MAGMA's mark."); + +static const u8 sOldSeaMapDesc[] = _( + "A faded sea chart\n" + "that shows the way\n" + "to a certain island."); diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h index 0cc4bb203..821039cb3 100644 --- a/src/data/trainer_graphics/back_pic_anims.h +++ b/src/data/trainer_graphics/back_pic_anims.h @@ -1,4 +1,4 @@ -const union AnimCmd gAnimCmd_Brendan_1[] = +static const union AnimCmd gAnimCmd_Brendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -8,7 +8,7 @@ const union AnimCmd gAnimCmd_Brendan_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_May_Steven_1[] = +static const union AnimCmd gAnimCmd_May_Steven_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -18,7 +18,7 @@ const union AnimCmd gAnimCmd_May_Steven_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Wally_1[] = +static const union AnimCmd gAnimCmd_Wally_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -28,7 +28,7 @@ const union AnimCmd gAnimCmd_Wally_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Red_1[] = +static const union AnimCmd gAnimCmd_Red_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -38,7 +38,7 @@ const union AnimCmd gAnimCmd_Red_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_Leaf_1[] = +static const union AnimCmd gAnimCmd_Leaf_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -48,7 +48,7 @@ const union AnimCmd gAnimCmd_Leaf_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = +static const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -58,72 +58,72 @@ const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = ANIMCMD_END, }; -const union AnimCmd gAnimCmd_RubySapphireMay_1[] = +static const union AnimCmd gAnimCmd_RubySapphireMay_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(2, 24), ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(3, 50), ANIMCMD_END, }; -const union AnimCmd *const gTrainerBackAnims_Brendan[] = +static const union AnimCmd *const sBackAnims_Brendan[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_Brendan_1, }; -const union AnimCmd *const gTrainerBackAnims_May[] = +static const union AnimCmd *const sBackAnims_May[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_May_Steven_1, }; -const union AnimCmd *const gTrainerBackAnims_Red[] = +static const union AnimCmd *const sBackAnims_Red[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gAnimCmd_Red_1, }; -const union AnimCmd *const gTrainerBackAnims_Leaf[] = +static const union AnimCmd *const sBackAnims_Leaf[] = { - gAnimCmd_General_Frame0, + sAnim_GeneralFrame0, gAnimCmd_Leaf_1, }; -const union AnimCmd *const gTrainerBackAnims_RubySapphireBrendan[] = +static const union AnimCmd *const sBackAnims_RubySapphireBrendan[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_RubySapphireBrendan_1, }; -const union AnimCmd *const gTrainerBackAnims_RubySapphireMay[] = +static const union AnimCmd *const sBackAnims_RubySapphireMay[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_RubySapphireMay_1, }; -const union AnimCmd *const gTrainerBackAnims_Wally[] = +static const union AnimCmd *const sBackAnims_Wally[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_Wally_1, }; -const union AnimCmd *const gTrainerBackAnims_Steven[] = +static const union AnimCmd *const sBackAnims_Steven[] = { - gAnimCmd_General_Frame3, + sAnim_GeneralFrame3, gAnimCmd_May_Steven_1, }; const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = { - gTrainerBackAnims_Brendan, - gTrainerBackAnims_May, - gTrainerBackAnims_Red, - gTrainerBackAnims_Leaf, - gTrainerBackAnims_RubySapphireBrendan, - gTrainerBackAnims_RubySapphireMay, - gTrainerBackAnims_Wally, - gTrainerBackAnims_Steven, + [TRAINER_BACK_PIC_BRENDAN] = sBackAnims_Brendan, + [TRAINER_BACK_PIC_MAY] = sBackAnims_May, + [TRAINER_BACK_PIC_RED] = sBackAnims_Red, + [TRAINER_BACK_PIC_LEAF] = sBackAnims_Leaf, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = sBackAnims_RubySapphireBrendan, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = sBackAnims_RubySapphireMay, + [TRAINER_BACK_PIC_WALLY] = sBackAnims_Wally, + [TRAINER_BACK_PIC_STEVEN] = sBackAnims_Steven, }; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h index 0f6b0cb91..86efd7905 100644 --- a/src/data/trainer_graphics/back_pic_tables.h +++ b/src/data/trainer_graphics/back_pic_tables.h @@ -1,13 +1,13 @@ const struct MonCoords gTrainerBackPicCoords[] = { - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 5}, - {.size = 8, .y_offset = 5}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, - {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_BRENDAN] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_MAY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_RED] = {.size = 8, .y_offset = 5}, + [TRAINER_BACK_PIC_LEAF] = {.size = 8, .y_offset = 5}, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_WALLY] = {.size = 8, .y_offset = 4}, + [TRAINER_BACK_PIC_STEVEN] = {.size = 8, .y_offset = 4}, }; // this table goes functionally unused, since none of these pics are compressed @@ -25,14 +25,14 @@ const struct CompressedSpriteSheet gTrainerBackPicTable[] = (const u32 *)gTrainerBackPic_Steven, 0x2000, TRAINER_BACK_PIC_STEVEN, }; -const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = +const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = { - gTrainerPalette_Brendan, TRAINER_BACK_PIC_BRENDAN, - gTrainerPalette_May, TRAINER_BACK_PIC_MAY, - gTrainerBackPicPalette_Red, TRAINER_BACK_PIC_RED, - gTrainerBackPicPalette_Leaf, TRAINER_BACK_PIC_LEAF, - gTrainerPalette_RubySapphireBrendan, TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN, - gTrainerPalette_RubySapphireMay, TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY, - gTrainerPalette_Wally, TRAINER_BACK_PIC_WALLY, - gTrainerPalette_Steven, TRAINER_BACK_PIC_STEVEN, + TRAINER_BACK_PAL(BRENDAN, gTrainerPalette_Brendan), + TRAINER_BACK_PAL(MAY, gTrainerPalette_May), + TRAINER_BACK_PAL(RED, gTrainerBackPicPalette_Red), + TRAINER_BACK_PAL(LEAF, gTrainerBackPicPalette_Leaf), + TRAINER_BACK_PAL(RUBY_SAPPHIRE_BRENDAN, gTrainerPalette_RubySapphireBrendan), + TRAINER_BACK_PAL(RUBY_SAPPHIRE_MAY, gTrainerPalette_RubySapphireMay), + TRAINER_BACK_PAL(WALLY, gTrainerPalette_Wally), + TRAINER_BACK_PAL(STEVEN, gTrainerPalette_Steven), }; diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h index 371e5a300..f01394532 100644 --- a/src/data/trainer_graphics/front_pic_anims.h +++ b/src/data/trainer_graphics/front_pic_anims.h @@ -1,470 +1,468 @@ -#include "constants/trainers.h" - -const union AnimCmd *const gTrainerFrontAnims_Hiker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Hiker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaGruntM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaGruntM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonBreederF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonBreederF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CoolTrainerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CoolTrainerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BirdKeeper[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BirdKeeper[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Collector[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Collector[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaGruntF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaGruntF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaGruntM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaGruntM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ExpertM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ExpertM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaAdminM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaAdminM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BlackBelt[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BlackBelt[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaAdminF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaAdminF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AquaLeaderArchie[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AquaLeaderArchie[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_HexManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_HexManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_AromaLady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_AromaLady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RuinManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RuinManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Interviewer[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Interviewer[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_TuberF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_TuberF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_TuberM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_TuberM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CoolTrainerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CoolTrainerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Lady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Lady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Beauty[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Beauty[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RichBoy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RichBoy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ExpertF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ExpertF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Pokemaniac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Pokemaniac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaGruntF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaGruntF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Guitarist[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Guitarist[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Kindler[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Kindler[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Camper[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Camper[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Picnicker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Picnicker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BugManiac[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BugManiac[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonBreederM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonBreederM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PsychicM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PsychicM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PsychicF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PsychicF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Gentleman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Gentleman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourSidney[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourSidney[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourPhoebe[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourPhoebe[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourGlacia[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourGlacia[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_EliteFourDrake[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_EliteFourDrake[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderRoxanne[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderRoxanne[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderBrawly[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderBrawly[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderWattson[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderWattson[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderFlannery[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderFlannery[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderNorman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderNorman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderWinona[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderWinona[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderTateAndLiza[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderTateAndLiza[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_LeaderJuan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_LeaderJuan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SchoolKidM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SchoolKidM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SchoolKidF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SchoolKidF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SrAndJr[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SrAndJr[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokefanM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokefanM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokefanF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokefanF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Youngster[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Youngster[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ChampionWallace[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ChampionWallace[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Fisherman[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Fisherman[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CyclingTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_CyclingTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RunningTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RunningTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmingTriathleteM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmingTriathleteF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_DragonTamer[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_DragonTamer[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_NinjaBoy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_NinjaBoy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BattleGirl[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BattleGirl[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ParasolLady[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ParasolLady[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SwimmerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SwimmerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Twins[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Twins[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Sailor[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Sailor[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaAdmin[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaAdmin[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Wally[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Wally[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Brendan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Brendan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_May[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_May[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_BugCatcher[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_BugCatcher[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonRangerM[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonRangerM[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PokemonRangerF[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PokemonRangerF[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_MagmaLeaderMaxie[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_MagmaLeaderMaxie[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Lass[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Lass[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_YoungCouple[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_YoungCouple[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_OldCouple[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_OldCouple[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SisAndBro[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SisAndBro[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Steven[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Steven[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_SalonMaidenAnabel[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_SalonMaidenAnabel[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_DomeAceTucker[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_DomeAceTucker[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PalaceMavenSpenser[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PalaceMavenSpenser[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_ArenaTycoonGreta[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_ArenaTycoonGreta[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_FactoryHeadNoland[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_FactoryHeadNoland[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PikeQueenLucy[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PikeQueenLucy[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_PyramidKingBrandon[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_PyramidKingBrandon[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Red[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Red[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_Leaf[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_Leaf[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RubySapphireBrendan[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RubySapphireBrendan[] ={ + sAnim_GeneralFrame0, }; -const union AnimCmd *const gTrainerFrontAnims_RubySapphireMay[] ={ - gAnimCmd_General_Frame0, +static const union AnimCmd *const sAnims_RubySapphireMay[] ={ + sAnim_GeneralFrame0, }; const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] = { - [TRAINER_PIC_HIKER] = gTrainerFrontAnims_Hiker, - [TRAINER_PIC_AQUA_GRUNT_M] = gTrainerFrontAnims_AquaGruntM, - [TRAINER_PIC_POKEMON_BREEDER_F] = gTrainerFrontAnims_PokemonBreederF, - [TRAINER_PIC_COOLTRAINER_M] = gTrainerFrontAnims_CoolTrainerM, - [TRAINER_PIC_BIRD_KEEPER] = gTrainerFrontAnims_BirdKeeper, - [TRAINER_PIC_COLLECTOR] = gTrainerFrontAnims_Collector, - [TRAINER_PIC_AQUA_GRUNT_F] = gTrainerFrontAnims_AquaGruntF, - [TRAINER_PIC_SWIMMER_M] = gTrainerFrontAnims_SwimmerM, - [TRAINER_PIC_MAGMA_GRUNT_M] = gTrainerFrontAnims_MagmaGruntM, - [TRAINER_PIC_EXPERT_M] = gTrainerFrontAnims_ExpertM, - [TRAINER_PIC_AQUA_ADMIN_M] = gTrainerFrontAnims_AquaAdminM, - [TRAINER_PIC_BLACK_BELT] = gTrainerFrontAnims_BlackBelt, - [TRAINER_PIC_AQUA_ADMIN_F] = gTrainerFrontAnims_AquaAdminF, - [TRAINER_PIC_AQUA_LEADER_ARCHIE] = gTrainerFrontAnims_AquaLeaderArchie, - [TRAINER_PIC_HEX_MANIAC] = gTrainerFrontAnims_HexManiac, - [TRAINER_PIC_AROMA_LADY] = gTrainerFrontAnims_AromaLady, - [TRAINER_PIC_RUIN_MANIAC] = gTrainerFrontAnims_RuinManiac, - [TRAINER_PIC_INTERVIEWER] = gTrainerFrontAnims_Interviewer, - [TRAINER_PIC_TUBER_F] = gTrainerFrontAnims_TuberF, - [TRAINER_PIC_TUBER_M] = gTrainerFrontAnims_TuberM, - [TRAINER_PIC_COOLTRAINER_F] = gTrainerFrontAnims_CoolTrainerF, - [TRAINER_PIC_LADY] = gTrainerFrontAnims_Lady, - [TRAINER_PIC_BEAUTY] = gTrainerFrontAnims_Beauty, - [TRAINER_PIC_RICH_BOY] = gTrainerFrontAnims_RichBoy, - [TRAINER_PIC_EXPERT_F] = gTrainerFrontAnims_ExpertF, - [TRAINER_PIC_POKEMANIAC] = gTrainerFrontAnims_Pokemaniac, - [TRAINER_PIC_MAGMA_GRUNT_F] = gTrainerFrontAnims_MagmaGruntF, - [TRAINER_PIC_GUITARIST] = gTrainerFrontAnims_Guitarist, - [TRAINER_PIC_KINDLER] = gTrainerFrontAnims_Kindler, - [TRAINER_PIC_CAMPER] = gTrainerFrontAnims_Camper, - [TRAINER_PIC_PICNICKER] = gTrainerFrontAnims_Picnicker, - [TRAINER_PIC_BUG_MANIAC] = gTrainerFrontAnims_BugManiac, - [TRAINER_PIC_POKEMON_BREEDER_M] = gTrainerFrontAnims_PokemonBreederM, - [TRAINER_PIC_PSYCHIC_M] = gTrainerFrontAnims_PsychicM, - [TRAINER_PIC_PSYCHIC_F] = gTrainerFrontAnims_PsychicF, - [TRAINER_PIC_GENTLEMAN] = gTrainerFrontAnims_Gentleman, - [TRAINER_PIC_ELITE_FOUR_SIDNEY] = gTrainerFrontAnims_EliteFourSidney, - [TRAINER_PIC_ELITE_FOUR_PHOEBE] = gTrainerFrontAnims_EliteFourPhoebe, - [TRAINER_PIC_ELITE_FOUR_GLACIA] = gTrainerFrontAnims_EliteFourGlacia, - [TRAINER_PIC_ELITE_FOUR_DRAKE] = gTrainerFrontAnims_EliteFourDrake, - [TRAINER_PIC_LEADER_ROXANNE] = gTrainerFrontAnims_LeaderRoxanne, - [TRAINER_PIC_LEADER_BRAWLY] = gTrainerFrontAnims_LeaderBrawly, - [TRAINER_PIC_LEADER_WATTSON] = gTrainerFrontAnims_LeaderWattson, - [TRAINER_PIC_LEADER_FLANNERY] = gTrainerFrontAnims_LeaderFlannery, - [TRAINER_PIC_LEADER_NORMAN] = gTrainerFrontAnims_LeaderNorman, - [TRAINER_PIC_LEADER_WINONA] = gTrainerFrontAnims_LeaderWinona, - [TRAINER_PIC_LEADER_TATE_AND_LIZA] = gTrainerFrontAnims_LeaderTateAndLiza, - [TRAINER_PIC_LEADER_JUAN] = gTrainerFrontAnims_LeaderJuan, - [TRAINER_PIC_SCHOOL_KID_M] = gTrainerFrontAnims_SchoolKidM, - [TRAINER_PIC_SCHOOL_KID_F] = gTrainerFrontAnims_SchoolKidF, - [TRAINER_PIC_SR_AND_JR] = gTrainerFrontAnims_SrAndJr, - [TRAINER_PIC_POKEFAN_M] = gTrainerFrontAnims_PokefanM, - [TRAINER_PIC_POKEFAN_F] = gTrainerFrontAnims_PokefanF, - [TRAINER_PIC_YOUNGSTER] = gTrainerFrontAnims_Youngster, - [TRAINER_PIC_CHAMPION_WALLACE] = gTrainerFrontAnims_ChampionWallace, - [TRAINER_PIC_FISHERMAN] = gTrainerFrontAnims_Fisherman, - [TRAINER_PIC_CYCLING_TRIATHLETE_M] = gTrainerFrontAnims_CyclingTriathleteM, - [TRAINER_PIC_CYCLING_TRIATHLETE_F] = gTrainerFrontAnims_CyclingTriathleteF, - [TRAINER_PIC_RUNNING_TRIATHLETE_M] = gTrainerFrontAnims_RunningTriathleteM, - [TRAINER_PIC_RUNNING_TRIATHLETE_F] = gTrainerFrontAnims_RunningTriathleteF, - [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = gTrainerFrontAnims_SwimmingTriathleteM, - [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = gTrainerFrontAnims_SwimmingTriathleteF, - [TRAINER_PIC_DRAGON_TAMER] = gTrainerFrontAnims_DragonTamer, - [TRAINER_PIC_NINJA_BOY] = gTrainerFrontAnims_NinjaBoy, - [TRAINER_PIC_BATTLE_GIRL] = gTrainerFrontAnims_BattleGirl, - [TRAINER_PIC_PARASOL_LADY] = gTrainerFrontAnims_ParasolLady, - [TRAINER_PIC_SWIMMER_F] = gTrainerFrontAnims_SwimmerF, - [TRAINER_PIC_TWINS] = gTrainerFrontAnims_Twins, - [TRAINER_PIC_SAILOR] = gTrainerFrontAnims_Sailor, - [TRAINER_PIC_MAGMA_ADMIN] = gTrainerFrontAnims_MagmaAdmin, - [TRAINER_PIC_WALLY] = gTrainerFrontAnims_Wally, - [TRAINER_PIC_BRENDAN] = gTrainerFrontAnims_Brendan, - [TRAINER_PIC_MAY] = gTrainerFrontAnims_May, - [TRAINER_PIC_BUG_CATCHER] = gTrainerFrontAnims_BugCatcher, - [TRAINER_PIC_POKEMON_RANGER_M] = gTrainerFrontAnims_PokemonRangerM, - [TRAINER_PIC_POKEMON_RANGER_F] = gTrainerFrontAnims_PokemonRangerF, - [TRAINER_PIC_MAGMA_LEADER_MAXIE] = gTrainerFrontAnims_MagmaLeaderMaxie, - [TRAINER_PIC_LASS] = gTrainerFrontAnims_Lass, - [TRAINER_PIC_YOUNG_COUPLE] = gTrainerFrontAnims_YoungCouple, - [TRAINER_PIC_OLD_COUPLE] = gTrainerFrontAnims_OldCouple, - [TRAINER_PIC_SIS_AND_BRO] = gTrainerFrontAnims_SisAndBro, - [TRAINER_PIC_STEVEN] = gTrainerFrontAnims_Steven, - [TRAINER_PIC_SALON_MAIDEN_ANABEL] = gTrainerFrontAnims_SalonMaidenAnabel, - [TRAINER_PIC_DOME_ACE_TUCKER] = gTrainerFrontAnims_DomeAceTucker, - [TRAINER_PIC_PALACE_MAVEN_SPENSER] = gTrainerFrontAnims_PalaceMavenSpenser, - [TRAINER_PIC_ARENA_TYCOON_GRETA] = gTrainerFrontAnims_ArenaTycoonGreta, - [TRAINER_PIC_FACTORY_HEAD_NOLAND] = gTrainerFrontAnims_FactoryHeadNoland, - [TRAINER_PIC_PIKE_QUEEN_LUCY] = gTrainerFrontAnims_PikeQueenLucy, - [TRAINER_PIC_PYRAMID_KING_BRANDON] = gTrainerFrontAnims_PyramidKingBrandon, - [TRAINER_PIC_RED] = gTrainerFrontAnims_Red, - [TRAINER_PIC_LEAF] = gTrainerFrontAnims_Leaf, - [TRAINER_PIC_RS_BRENDAN] = gTrainerFrontAnims_RubySapphireBrendan, - [TRAINER_PIC_RS_MAY] = gTrainerFrontAnims_RubySapphireMay, + [TRAINER_PIC_HIKER] = sAnims_Hiker, + [TRAINER_PIC_AQUA_GRUNT_M] = sAnims_AquaGruntM, + [TRAINER_PIC_POKEMON_BREEDER_F] = sAnims_PokemonBreederF, + [TRAINER_PIC_COOLTRAINER_M] = sAnims_CoolTrainerM, + [TRAINER_PIC_BIRD_KEEPER] = sAnims_BirdKeeper, + [TRAINER_PIC_COLLECTOR] = sAnims_Collector, + [TRAINER_PIC_AQUA_GRUNT_F] = sAnims_AquaGruntF, + [TRAINER_PIC_SWIMMER_M] = sAnims_SwimmerM, + [TRAINER_PIC_MAGMA_GRUNT_M] = sAnims_MagmaGruntM, + [TRAINER_PIC_EXPERT_M] = sAnims_ExpertM, + [TRAINER_PIC_AQUA_ADMIN_M] = sAnims_AquaAdminM, + [TRAINER_PIC_BLACK_BELT] = sAnims_BlackBelt, + [TRAINER_PIC_AQUA_ADMIN_F] = sAnims_AquaAdminF, + [TRAINER_PIC_AQUA_LEADER_ARCHIE] = sAnims_AquaLeaderArchie, + [TRAINER_PIC_HEX_MANIAC] = sAnims_HexManiac, + [TRAINER_PIC_AROMA_LADY] = sAnims_AromaLady, + [TRAINER_PIC_RUIN_MANIAC] = sAnims_RuinManiac, + [TRAINER_PIC_INTERVIEWER] = sAnims_Interviewer, + [TRAINER_PIC_TUBER_F] = sAnims_TuberF, + [TRAINER_PIC_TUBER_M] = sAnims_TuberM, + [TRAINER_PIC_COOLTRAINER_F] = sAnims_CoolTrainerF, + [TRAINER_PIC_LADY] = sAnims_Lady, + [TRAINER_PIC_BEAUTY] = sAnims_Beauty, + [TRAINER_PIC_RICH_BOY] = sAnims_RichBoy, + [TRAINER_PIC_EXPERT_F] = sAnims_ExpertF, + [TRAINER_PIC_POKEMANIAC] = sAnims_Pokemaniac, + [TRAINER_PIC_MAGMA_GRUNT_F] = sAnims_MagmaGruntF, + [TRAINER_PIC_GUITARIST] = sAnims_Guitarist, + [TRAINER_PIC_KINDLER] = sAnims_Kindler, + [TRAINER_PIC_CAMPER] = sAnims_Camper, + [TRAINER_PIC_PICNICKER] = sAnims_Picnicker, + [TRAINER_PIC_BUG_MANIAC] = sAnims_BugManiac, + [TRAINER_PIC_POKEMON_BREEDER_M] = sAnims_PokemonBreederM, + [TRAINER_PIC_PSYCHIC_M] = sAnims_PsychicM, + [TRAINER_PIC_PSYCHIC_F] = sAnims_PsychicF, + [TRAINER_PIC_GENTLEMAN] = sAnims_Gentleman, + [TRAINER_PIC_ELITE_FOUR_SIDNEY] = sAnims_EliteFourSidney, + [TRAINER_PIC_ELITE_FOUR_PHOEBE] = sAnims_EliteFourPhoebe, + [TRAINER_PIC_ELITE_FOUR_GLACIA] = sAnims_EliteFourGlacia, + [TRAINER_PIC_ELITE_FOUR_DRAKE] = sAnims_EliteFourDrake, + [TRAINER_PIC_LEADER_ROXANNE] = sAnims_LeaderRoxanne, + [TRAINER_PIC_LEADER_BRAWLY] = sAnims_LeaderBrawly, + [TRAINER_PIC_LEADER_WATTSON] = sAnims_LeaderWattson, + [TRAINER_PIC_LEADER_FLANNERY] = sAnims_LeaderFlannery, + [TRAINER_PIC_LEADER_NORMAN] = sAnims_LeaderNorman, + [TRAINER_PIC_LEADER_WINONA] = sAnims_LeaderWinona, + [TRAINER_PIC_LEADER_TATE_AND_LIZA] = sAnims_LeaderTateAndLiza, + [TRAINER_PIC_LEADER_JUAN] = sAnims_LeaderJuan, + [TRAINER_PIC_SCHOOL_KID_M] = sAnims_SchoolKidM, + [TRAINER_PIC_SCHOOL_KID_F] = sAnims_SchoolKidF, + [TRAINER_PIC_SR_AND_JR] = sAnims_SrAndJr, + [TRAINER_PIC_POKEFAN_M] = sAnims_PokefanM, + [TRAINER_PIC_POKEFAN_F] = sAnims_PokefanF, + [TRAINER_PIC_YOUNGSTER] = sAnims_Youngster, + [TRAINER_PIC_CHAMPION_WALLACE] = sAnims_ChampionWallace, + [TRAINER_PIC_FISHERMAN] = sAnims_Fisherman, + [TRAINER_PIC_CYCLING_TRIATHLETE_M] = sAnims_CyclingTriathleteM, + [TRAINER_PIC_CYCLING_TRIATHLETE_F] = sAnims_CyclingTriathleteF, + [TRAINER_PIC_RUNNING_TRIATHLETE_M] = sAnims_RunningTriathleteM, + [TRAINER_PIC_RUNNING_TRIATHLETE_F] = sAnims_RunningTriathleteF, + [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = sAnims_SwimmingTriathleteM, + [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = sAnims_SwimmingTriathleteF, + [TRAINER_PIC_DRAGON_TAMER] = sAnims_DragonTamer, + [TRAINER_PIC_NINJA_BOY] = sAnims_NinjaBoy, + [TRAINER_PIC_BATTLE_GIRL] = sAnims_BattleGirl, + [TRAINER_PIC_PARASOL_LADY] = sAnims_ParasolLady, + [TRAINER_PIC_SWIMMER_F] = sAnims_SwimmerF, + [TRAINER_PIC_TWINS] = sAnims_Twins, + [TRAINER_PIC_SAILOR] = sAnims_Sailor, + [TRAINER_PIC_MAGMA_ADMIN] = sAnims_MagmaAdmin, + [TRAINER_PIC_WALLY] = sAnims_Wally, + [TRAINER_PIC_BRENDAN] = sAnims_Brendan, + [TRAINER_PIC_MAY] = sAnims_May, + [TRAINER_PIC_BUG_CATCHER] = sAnims_BugCatcher, + [TRAINER_PIC_POKEMON_RANGER_M] = sAnims_PokemonRangerM, + [TRAINER_PIC_POKEMON_RANGER_F] = sAnims_PokemonRangerF, + [TRAINER_PIC_MAGMA_LEADER_MAXIE] = sAnims_MagmaLeaderMaxie, + [TRAINER_PIC_LASS] = sAnims_Lass, + [TRAINER_PIC_YOUNG_COUPLE] = sAnims_YoungCouple, + [TRAINER_PIC_OLD_COUPLE] = sAnims_OldCouple, + [TRAINER_PIC_SIS_AND_BRO] = sAnims_SisAndBro, + [TRAINER_PIC_STEVEN] = sAnims_Steven, + [TRAINER_PIC_SALON_MAIDEN_ANABEL] = sAnims_SalonMaidenAnabel, + [TRAINER_PIC_DOME_ACE_TUCKER] = sAnims_DomeAceTucker, + [TRAINER_PIC_PALACE_MAVEN_SPENSER] = sAnims_PalaceMavenSpenser, + [TRAINER_PIC_ARENA_TYCOON_GRETA] = sAnims_ArenaTycoonGreta, + [TRAINER_PIC_FACTORY_HEAD_NOLAND] = sAnims_FactoryHeadNoland, + [TRAINER_PIC_PIKE_QUEEN_LUCY] = sAnims_PikeQueenLucy, + [TRAINER_PIC_PYRAMID_KING_BRANDON] = sAnims_PyramidKingBrandon, + [TRAINER_PIC_RED] = sAnims_Red, + [TRAINER_PIC_LEAF] = sAnims_Leaf, + [TRAINER_PIC_RS_BRENDAN] = sAnims_RubySapphireBrendan, + [TRAINER_PIC_RS_MAY] = sAnims_RubySapphireMay, }; diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h index fc637fc6e..c3408b4c3 100644 --- a/src/data/trainer_graphics/front_pic_tables.h +++ b/src/data/trainer_graphics/front_pic_tables.h @@ -1,290 +1,290 @@ const struct MonCoords gTrainerFrontPicCoords[] = { - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 2}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, - {.size = 8, .y_offset = 1}, + [TRAINER_PIC_HIKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_GRUNT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_BREEDER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COOLTRAINER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BIRD_KEEPER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COLLECTOR] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_GRUNT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_GRUNT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_EXPERT_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_ADMIN_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BLACK_BELT] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_ADMIN_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AQUA_LEADER_ARCHIE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_HEX_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_AROMA_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUIN_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_INTERVIEWER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TUBER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TUBER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_COOLTRAINER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BEAUTY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RICH_BOY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_EXPERT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_GRUNT_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_GUITARIST] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_KINDLER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CAMPER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PICNICKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BUG_MANIAC] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_BREEDER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PSYCHIC_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PSYCHIC_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_GENTLEMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_SIDNEY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_PHOEBE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_GLACIA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ELITE_FOUR_DRAKE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_ROXANNE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_BRAWLY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_WATTSON] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_FLANNERY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_NORMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_WINONA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_TATE_AND_LIZA] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEADER_JUAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SCHOOL_KID_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SCHOOL_KID_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SR_AND_JR] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_POKEFAN_M] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_POKEFAN_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_YOUNGSTER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CHAMPION_WALLACE] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_FISHERMAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_CYCLING_TRIATHLETE_M] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_CYCLING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUNNING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RUNNING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_DRAGON_TAMER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_NINJA_BOY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BATTLE_GIRL] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_PARASOL_LADY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SWIMMER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_TWINS] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SAILOR] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_ADMIN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_WALLY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BRENDAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_BUG_CATCHER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_RANGER_M] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_POKEMON_RANGER_F] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_MAGMA_LEADER_MAXIE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LASS] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_YOUNG_COUPLE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_OLD_COUPLE] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SIS_AND_BRO] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_STEVEN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_SALON_MAIDEN_ANABEL] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_DOME_ACE_TUCKER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PALACE_MAVEN_SPENSER] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_ARENA_TYCOON_GRETA] = {.size = 8, .y_offset = 2}, + [TRAINER_PIC_FACTORY_HEAD_NOLAND] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PIKE_QUEEN_LUCY] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_PYRAMID_KING_BRANDON] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RED] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_LEAF] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RS_BRENDAN] = {.size = 8, .y_offset = 1}, + [TRAINER_PIC_RS_MAY] = {.size = 8, .y_offset = 1}, }; const struct CompressedSpriteSheet gTrainerFrontPicTable[] = { - gTrainerFrontPic_Hiker, 0x800, 0, - gTrainerFrontPic_AquaGruntM, 0x800, 1, - gTrainerFrontPic_PokemonBreederF, 0x800, 2, - gTrainerFrontPic_CoolTrainerM, 0x800, 3, - gTrainerFrontPic_BirdKeeper, 0x800, 4, - gTrainerFrontPic_Collector, 0x800, 5, - gTrainerFrontPic_AquaGruntF, 0x800, 6, - gTrainerFrontPic_SwimmerM, 0x800, 7, - gTrainerFrontPic_MagmaGruntM, 0x800, 8, - gTrainerFrontPic_ExpertM, 0x800, 9, - gTrainerFrontPic_AquaAdminM, 0x800, 10, - gTrainerFrontPic_BlackBelt, 0x800, 11, - gTrainerFrontPic_AquaAdminF, 0x800, 12, - gTrainerFrontPic_AquaLeaderArchie, 0x800, 13, - gTrainerFrontPic_HexManiac, 0x800, 14, - gTrainerFrontPic_AromaLady, 0x800, 15, - gTrainerFrontPic_RuinManiac, 0x800, 16, - gTrainerFrontPic_Interviewer, 0x800, 17, - gTrainerFrontPic_TuberF, 0x800, 18, - gTrainerFrontPic_TuberM, 0x800, 19, - gTrainerFrontPic_CoolTrainerF, 0x800, 20, - gTrainerFrontPic_Lady, 0x800, 21, - gTrainerFrontPic_Beauty, 0x800, 22, - gTrainerFrontPic_RichBoy, 0x800, 23, - gTrainerFrontPic_ExpertF, 0x800, 24, - gTrainerFrontPic_Pokemaniac, 0x800, 25, - gTrainerFrontPic_MagmaGruntF, 0x800, 26, - gTrainerFrontPic_Guitarist, 0x800, 27, - gTrainerFrontPic_Kindler, 0x800, 28, - gTrainerFrontPic_Camper, 0x800, 29, - gTrainerFrontPic_Picnicker, 0x800, 30, - gTrainerFrontPic_BugManiac, 0x800, 31, - gTrainerFrontPic_PokemonBreederM, 0x800, 32, - gTrainerFrontPic_PsychicM, 0x800, 33, - gTrainerFrontPic_PsychicF, 0x800, 34, - gTrainerFrontPic_Gentleman, 0x800, 35, - gTrainerFrontPic_EliteFourSidney, 0x800, 36, - gTrainerFrontPic_EliteFourPhoebe, 0x800, 37, - gTrainerFrontPic_EliteFourGlacia, 0x800, 38, - gTrainerFrontPic_EliteFourDrake, 0x800, 39, - gTrainerFrontPic_LeaderRoxanne, 0x800, 40, - gTrainerFrontPic_LeaderBrawly, 0x800, 41, - gTrainerFrontPic_LeaderWattson, 0x800, 42, - gTrainerFrontPic_LeaderFlannery, 0x800, 43, - gTrainerFrontPic_LeaderNorman, 0x800, 44, - gTrainerFrontPic_LeaderWinona, 0x800, 45, - gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46, - gTrainerFrontPic_LeaderJuan, 0x800, 47, - gTrainerFrontPic_SchoolKidM, 0x800, 48, - gTrainerFrontPic_SchoolKidF, 0x800, 49, - gTrainerFrontPic_SrAndJr, 0x1000, 50, - gTrainerFrontPic_PokefanM, 0x1000, 51, - gTrainerFrontPic_PokefanF, 0x800, 52, - gTrainerFrontPic_Youngster, 0x800, 53, - gTrainerFrontPic_ChampionWallace, 0x1000, 54, - gTrainerFrontPic_Fisherman, 0x800, 55, - gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56, - gTrainerFrontPic_CyclingTriathleteF, 0x800, 57, - gTrainerFrontPic_RunningTriathleteM, 0x800, 58, - gTrainerFrontPic_RunningTriathleteF, 0x800, 59, - gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60, - gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61, - gTrainerFrontPic_DragonTamer, 0x800, 62, - gTrainerFrontPic_NinjaBoy, 0x800, 63, - gTrainerFrontPic_BattleGirl, 0x1000, 64, - gTrainerFrontPic_ParasolLady, 0x800, 65, - gTrainerFrontPic_SwimmerF, 0x800, 66, - gTrainerFrontPic_Twins, 0x800, 67, - gTrainerFrontPic_Sailor, 0x800, 68, - gTrainerFrontPic_MagmaAdmin, 0x800, 69, - gTrainerFrontPic_Wally, 0x800, 70, - gTrainerFrontPic_Brendan, 0x800, 71, - gTrainerFrontPic_May, 0x800, 72, - gTrainerFrontPic_BugCatcher, 0x800, 73, - gTrainerFrontPic_PokemonRangerM, 0x800, 74, - gTrainerFrontPic_PokemonRangerF, 0x800, 75, - gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76, - gTrainerFrontPic_Lass, 0x800, 77, - gTrainerFrontPic_YoungCouple, 0x800, 78, - gTrainerFrontPic_OldCouple, 0x800, 79, - gTrainerFrontPic_SisAndBro, 0x800, 80, - gTrainerFrontPic_Steven, 0x800, 81, - gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82, - gTrainerFrontPic_DomeAceTucker, 0x800, 83, - gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84, - gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85, - gTrainerFrontPic_FactoryHeadNoland, 0x800, 86, - gTrainerFrontPic_PikeQueenLucy, 0x800, 87, - gTrainerFrontPic_PyramidKingBrandon, 0x800, 88, - gTrainerFrontPic_Red, 0x800, 89, - gTrainerFrontPic_Leaf, 0x800, 90, - gTrainerFrontPic_RubySapphireBrendan, 0x800, 91, - gTrainerFrontPic_RubySapphireMay, 0x800, 92, + TRAINER_SPRITE(HIKER, gTrainerFrontPic_Hiker, 0x800), + TRAINER_SPRITE(AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, 0x800), + TRAINER_SPRITE(POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, 0x800), + TRAINER_SPRITE(COOLTRAINER_M, gTrainerFrontPic_CoolTrainerM, 0x800), + TRAINER_SPRITE(BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, 0x800), + TRAINER_SPRITE(COLLECTOR, gTrainerFrontPic_Collector, 0x800), + TRAINER_SPRITE(AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, 0x800), + TRAINER_SPRITE(SWIMMER_M, gTrainerFrontPic_SwimmerM, 0x800), + TRAINER_SPRITE(MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, 0x800), + TRAINER_SPRITE(EXPERT_M, gTrainerFrontPic_ExpertM, 0x800), + TRAINER_SPRITE(AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, 0x800), + TRAINER_SPRITE(BLACK_BELT, gTrainerFrontPic_BlackBelt, 0x800), + TRAINER_SPRITE(AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, 0x800), + TRAINER_SPRITE(AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, 0x800), + TRAINER_SPRITE(HEX_MANIAC, gTrainerFrontPic_HexManiac, 0x800), + TRAINER_SPRITE(AROMA_LADY, gTrainerFrontPic_AromaLady, 0x800), + TRAINER_SPRITE(RUIN_MANIAC, gTrainerFrontPic_RuinManiac, 0x800), + TRAINER_SPRITE(INTERVIEWER, gTrainerFrontPic_Interviewer, 0x800), + TRAINER_SPRITE(TUBER_F, gTrainerFrontPic_TuberF, 0x800), + TRAINER_SPRITE(TUBER_M, gTrainerFrontPic_TuberM, 0x800), + TRAINER_SPRITE(COOLTRAINER_F, gTrainerFrontPic_CoolTrainerF, 0x800), + TRAINER_SPRITE(LADY, gTrainerFrontPic_Lady, 0x800), + TRAINER_SPRITE(BEAUTY, gTrainerFrontPic_Beauty, 0x800), + TRAINER_SPRITE(RICH_BOY, gTrainerFrontPic_RichBoy, 0x800), + TRAINER_SPRITE(EXPERT_F, gTrainerFrontPic_ExpertF, 0x800), + TRAINER_SPRITE(POKEMANIAC, gTrainerFrontPic_Pokemaniac, 0x800), + TRAINER_SPRITE(MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, 0x800), + TRAINER_SPRITE(GUITARIST, gTrainerFrontPic_Guitarist, 0x800), + TRAINER_SPRITE(KINDLER, gTrainerFrontPic_Kindler, 0x800), + TRAINER_SPRITE(CAMPER, gTrainerFrontPic_Camper, 0x800), + TRAINER_SPRITE(PICNICKER, gTrainerFrontPic_Picnicker, 0x800), + TRAINER_SPRITE(BUG_MANIAC, gTrainerFrontPic_BugManiac, 0x800), + TRAINER_SPRITE(POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, 0x800), + TRAINER_SPRITE(PSYCHIC_M, gTrainerFrontPic_PsychicM, 0x800), + TRAINER_SPRITE(PSYCHIC_F, gTrainerFrontPic_PsychicF, 0x800), + TRAINER_SPRITE(GENTLEMAN, gTrainerFrontPic_Gentleman, 0x800), + TRAINER_SPRITE(ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, 0x800), + TRAINER_SPRITE(ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, 0x800), + TRAINER_SPRITE(ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, 0x800), + TRAINER_SPRITE(ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, 0x800), + TRAINER_SPRITE(LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, 0x800), + TRAINER_SPRITE(LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, 0x800), + TRAINER_SPRITE(LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, 0x800), + TRAINER_SPRITE(LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, 0x800), + TRAINER_SPRITE(LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, 0x800), + TRAINER_SPRITE(LEADER_WINONA, gTrainerFrontPic_LeaderWinona, 0x800), + TRAINER_SPRITE(LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, 0x800), + TRAINER_SPRITE(LEADER_JUAN, gTrainerFrontPic_LeaderJuan, 0x800), + TRAINER_SPRITE(SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, 0x800), + TRAINER_SPRITE(SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, 0x800), + TRAINER_SPRITE(SR_AND_JR, gTrainerFrontPic_SrAndJr, 0x1000), + TRAINER_SPRITE(POKEFAN_M, gTrainerFrontPic_PokefanM, 0x1000), + TRAINER_SPRITE(POKEFAN_F, gTrainerFrontPic_PokefanF, 0x800), + TRAINER_SPRITE(YOUNGSTER, gTrainerFrontPic_Youngster, 0x800), + TRAINER_SPRITE(CHAMPION_WALLACE, gTrainerFrontPic_ChampionWallace, 0x1000), + TRAINER_SPRITE(FISHERMAN, gTrainerFrontPic_Fisherman, 0x800), + TRAINER_SPRITE(CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, 0x1000), + TRAINER_SPRITE(CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, 0x800), + TRAINER_SPRITE(RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, 0x800), + TRAINER_SPRITE(RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, 0x800), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, 0x800), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, 0x800), + TRAINER_SPRITE(DRAGON_TAMER, gTrainerFrontPic_DragonTamer, 0x800), + TRAINER_SPRITE(NINJA_BOY, gTrainerFrontPic_NinjaBoy, 0x800), + TRAINER_SPRITE(BATTLE_GIRL, gTrainerFrontPic_BattleGirl, 0x1000), + TRAINER_SPRITE(PARASOL_LADY, gTrainerFrontPic_ParasolLady, 0x800), + TRAINER_SPRITE(SWIMMER_F, gTrainerFrontPic_SwimmerF, 0x800), + TRAINER_SPRITE(TWINS, gTrainerFrontPic_Twins, 0x800), + TRAINER_SPRITE(SAILOR, gTrainerFrontPic_Sailor, 0x800), + TRAINER_SPRITE(MAGMA_ADMIN, gTrainerFrontPic_MagmaAdmin, 0x800), + TRAINER_SPRITE(WALLY, gTrainerFrontPic_Wally, 0x800), + TRAINER_SPRITE(BRENDAN, gTrainerFrontPic_Brendan, 0x800), + TRAINER_SPRITE(MAY, gTrainerFrontPic_May, 0x800), + TRAINER_SPRITE(BUG_CATCHER, gTrainerFrontPic_BugCatcher, 0x800), + TRAINER_SPRITE(POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, 0x800), + TRAINER_SPRITE(POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, 0x800), + TRAINER_SPRITE(MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, 0x800), + TRAINER_SPRITE(LASS, gTrainerFrontPic_Lass, 0x800), + TRAINER_SPRITE(YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, 0x800), + TRAINER_SPRITE(OLD_COUPLE, gTrainerFrontPic_OldCouple, 0x800), + TRAINER_SPRITE(SIS_AND_BRO, gTrainerFrontPic_SisAndBro, 0x800), + TRAINER_SPRITE(STEVEN, gTrainerFrontPic_Steven, 0x800), + TRAINER_SPRITE(SALON_MAIDEN_ANABEL, gTrainerFrontPic_SalonMaidenAnabel, 0x800), + TRAINER_SPRITE(DOME_ACE_TUCKER, gTrainerFrontPic_DomeAceTucker, 0x800), + TRAINER_SPRITE(PALACE_MAVEN_SPENSER, gTrainerFrontPic_PalaceMavenSpenser, 0x800), + TRAINER_SPRITE(ARENA_TYCOON_GRETA, gTrainerFrontPic_ArenaTycoonGreta, 0x1000), + TRAINER_SPRITE(FACTORY_HEAD_NOLAND, gTrainerFrontPic_FactoryHeadNoland, 0x800), + TRAINER_SPRITE(PIKE_QUEEN_LUCY, gTrainerFrontPic_PikeQueenLucy, 0x800), + TRAINER_SPRITE(PYRAMID_KING_BRANDON, gTrainerFrontPic_PyramidKingBrandon, 0x800), + TRAINER_SPRITE(RED, gTrainerFrontPic_Red, 0x800), + TRAINER_SPRITE(LEAF, gTrainerFrontPic_Leaf, 0x800), + TRAINER_SPRITE(RS_BRENDAN, gTrainerFrontPic_RubySapphireBrendan, 0x800), + TRAINER_SPRITE(RS_MAY, gTrainerFrontPic_RubySapphireMay, 0x800), }; const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] = { - gTrainerPalette_Hiker, 0, - gTrainerPalette_AquaGruntM, 1, - gTrainerPalette_PokemonBreederF, 2, - gTrainerPalette_CoolTrainerM, 3, - gTrainerPalette_BirdKeeper, 4, - gTrainerPalette_Collector, 5, - gTrainerPalette_AquaGruntF, 6, - gTrainerPalette_SwimmerM, 7, - gTrainerPalette_MagmaGruntM, 8, - gTrainerPalette_ExpertM, 9, - gTrainerPalette_AquaAdminM, 10, - gTrainerPalette_BlackBelt, 11, - gTrainerPalette_AquaAdminF, 12, - gTrainerPalette_AquaLeaderArchie, 13, - gTrainerPalette_HexManiac, 14, - gTrainerPalette_AromaLady, 15, - gTrainerPalette_RuinManiac, 16, - gTrainerPalette_Interviewer, 17, - gTrainerPalette_TuberF, 18, - gTrainerPalette_TuberM, 19, - gTrainerPalette_CoolTrainerF, 20, - gTrainerPalette_Lady, 21, - gTrainerPalette_Beauty, 22, - gTrainerPalette_RichBoy, 23, - gTrainerPalette_ExpertF, 24, - gTrainerPalette_Pokemaniac, 25, - gTrainerPalette_MagmaGruntF, 26, - gTrainerPalette_Guitarist, 27, - gTrainerPalette_Kindler, 28, - gTrainerPalette_Camper, 29, - gTrainerPalette_Picnicker, 30, - gTrainerPalette_BugManiac, 31, - gTrainerPalette_PokemonBreederM, 32, - gTrainerPalette_PsychicM, 33, - gTrainerPalette_PsychicF, 34, - gTrainerPalette_Gentleman, 35, - gTrainerPalette_EliteFourSidney, 36, - gTrainerPalette_EliteFourPhoebe, 37, - gTrainerPalette_EliteFourGlacia, 38, - gTrainerPalette_EliteFourDrake, 39, - gTrainerPalette_LeaderRoxanne, 40, - gTrainerPalette_LeaderBrawly, 41, - gTrainerPalette_LeaderWattson, 42, - gTrainerPalette_LeaderFlannery, 43, - gTrainerPalette_LeaderNorman, 44, - gTrainerPalette_LeaderWinona, 45, - gTrainerPalette_LeaderTateAndLiza, 46, - gTrainerPalette_LeaderJuan, 47, - gTrainerPalette_SchoolKidM, 48, - gTrainerPalette_SchoolKidF, 49, - gTrainerPalette_SrAndJr, 50, - gTrainerPalette_PokefanM, 51, - gTrainerPalette_PokefanF, 52, - gTrainerPalette_Youngster, 53, - gTrainerPalette_ChampionWallace, 54, - gTrainerPalette_Fisherman, 55, - gTrainerPalette_CyclingTriathleteM, 56, - gTrainerPalette_CyclingTriathleteF, 57, - gTrainerPalette_RunningTriathleteM, 58, - gTrainerPalette_RunningTriathleteF, 59, - gTrainerPalette_SwimmingTriathleteM, 60, - gTrainerPalette_SwimmingTriathleteF, 61, - gTrainerPalette_DragonTamer, 62, - gTrainerPalette_NinjaBoy, 63, - gTrainerPalette_BattleGirl, 64, - gTrainerPalette_ParasolLady, 65, - gTrainerPalette_SwimmerF, 66, - gTrainerPalette_Twins, 67, - gTrainerPalette_Sailor, 68, - gTrainerPalette_MagmaAdmin, 69, - gTrainerPalette_Wally, 70, - gTrainerPalette_Brendan, 71, - gTrainerPalette_May, 72, - gTrainerPalette_BugCatcher, 73, - gTrainerPalette_PokemonRangerM, 74, - gTrainerPalette_PokemonRangerF, 75, - gTrainerPalette_MagmaLeaderMaxie, 76, - gTrainerPalette_Lass, 77, - gTrainerPalette_YoungCouple, 78, - gTrainerPalette_OldCouple, 79, - gTrainerPalette_SisAndBro, 80, - gTrainerPalette_Steven, 81, - gTrainerPalette_SalonMaidenAnabel, 82, - gTrainerPalette_DomeAceTucker, 83, - gTrainerPalette_PalaceMavenSpenser, 84, - gTrainerPalette_ArenaTycoonGreta, 85, - gTrainerPalette_FactoryHeadNoland, 86, - gTrainerPalette_PikeQueenLucy, 87, - gTrainerPalette_PyramidKingBrandon, 88, - gTrainerPalette_Red, 89, - gTrainerPalette_Leaf, 90, - gTrainerPalette_RubySapphireBrendan, 91, - gTrainerPalette_RubySapphireMay, 92, + TRAINER_PAL(HIKER, gTrainerPalette_Hiker), + TRAINER_PAL(AQUA_GRUNT_M, gTrainerPalette_AquaGruntM), + TRAINER_PAL(POKEMON_BREEDER_F, gTrainerPalette_PokemonBreederF), + TRAINER_PAL(COOLTRAINER_M, gTrainerPalette_CoolTrainerM), + TRAINER_PAL(BIRD_KEEPER, gTrainerPalette_BirdKeeper), + TRAINER_PAL(COLLECTOR, gTrainerPalette_Collector), + TRAINER_PAL(AQUA_GRUNT_F, gTrainerPalette_AquaGruntF), + TRAINER_PAL(SWIMMER_M, gTrainerPalette_SwimmerM), + TRAINER_PAL(MAGMA_GRUNT_M, gTrainerPalette_MagmaGruntM), + TRAINER_PAL(EXPERT_M, gTrainerPalette_ExpertM), + TRAINER_PAL(AQUA_ADMIN_M, gTrainerPalette_AquaAdminM), + TRAINER_PAL(BLACK_BELT, gTrainerPalette_BlackBelt), + TRAINER_PAL(AQUA_ADMIN_F, gTrainerPalette_AquaAdminF), + TRAINER_PAL(AQUA_LEADER_ARCHIE, gTrainerPalette_AquaLeaderArchie), + TRAINER_PAL(HEX_MANIAC, gTrainerPalette_HexManiac), + TRAINER_PAL(AROMA_LADY, gTrainerPalette_AromaLady), + TRAINER_PAL(RUIN_MANIAC, gTrainerPalette_RuinManiac), + TRAINER_PAL(INTERVIEWER, gTrainerPalette_Interviewer), + TRAINER_PAL(TUBER_F, gTrainerPalette_TuberF), + TRAINER_PAL(TUBER_M, gTrainerPalette_TuberM), + TRAINER_PAL(COOLTRAINER_F, gTrainerPalette_CoolTrainerF), + TRAINER_PAL(LADY, gTrainerPalette_Lady), + TRAINER_PAL(BEAUTY, gTrainerPalette_Beauty), + TRAINER_PAL(RICH_BOY, gTrainerPalette_RichBoy), + TRAINER_PAL(EXPERT_F, gTrainerPalette_ExpertF), + TRAINER_PAL(POKEMANIAC, gTrainerPalette_Pokemaniac), + TRAINER_PAL(MAGMA_GRUNT_F, gTrainerPalette_MagmaGruntF), + TRAINER_PAL(GUITARIST, gTrainerPalette_Guitarist), + TRAINER_PAL(KINDLER, gTrainerPalette_Kindler), + TRAINER_PAL(CAMPER, gTrainerPalette_Camper), + TRAINER_PAL(PICNICKER, gTrainerPalette_Picnicker), + TRAINER_PAL(BUG_MANIAC, gTrainerPalette_BugManiac), + TRAINER_PAL(POKEMON_BREEDER_M, gTrainerPalette_PokemonBreederM), + TRAINER_PAL(PSYCHIC_M, gTrainerPalette_PsychicM), + TRAINER_PAL(PSYCHIC_F, gTrainerPalette_PsychicF), + TRAINER_PAL(GENTLEMAN, gTrainerPalette_Gentleman), + TRAINER_PAL(ELITE_FOUR_SIDNEY, gTrainerPalette_EliteFourSidney), + TRAINER_PAL(ELITE_FOUR_PHOEBE, gTrainerPalette_EliteFourPhoebe), + TRAINER_PAL(ELITE_FOUR_GLACIA, gTrainerPalette_EliteFourGlacia), + TRAINER_PAL(ELITE_FOUR_DRAKE, gTrainerPalette_EliteFourDrake), + TRAINER_PAL(LEADER_ROXANNE, gTrainerPalette_LeaderRoxanne), + TRAINER_PAL(LEADER_BRAWLY, gTrainerPalette_LeaderBrawly), + TRAINER_PAL(LEADER_WATTSON, gTrainerPalette_LeaderWattson), + TRAINER_PAL(LEADER_FLANNERY, gTrainerPalette_LeaderFlannery), + TRAINER_PAL(LEADER_NORMAN, gTrainerPalette_LeaderNorman), + TRAINER_PAL(LEADER_WINONA, gTrainerPalette_LeaderWinona), + TRAINER_PAL(LEADER_TATE_AND_LIZA, gTrainerPalette_LeaderTateAndLiza), + TRAINER_PAL(LEADER_JUAN, gTrainerPalette_LeaderJuan), + TRAINER_PAL(SCHOOL_KID_M, gTrainerPalette_SchoolKidM), + TRAINER_PAL(SCHOOL_KID_F, gTrainerPalette_SchoolKidF), + TRAINER_PAL(SR_AND_JR, gTrainerPalette_SrAndJr), + TRAINER_PAL(POKEFAN_M, gTrainerPalette_PokefanM), + TRAINER_PAL(POKEFAN_F, gTrainerPalette_PokefanF), + TRAINER_PAL(YOUNGSTER, gTrainerPalette_Youngster), + TRAINER_PAL(CHAMPION_WALLACE, gTrainerPalette_ChampionWallace), + TRAINER_PAL(FISHERMAN, gTrainerPalette_Fisherman), + TRAINER_PAL(CYCLING_TRIATHLETE_M, gTrainerPalette_CyclingTriathleteM), + TRAINER_PAL(CYCLING_TRIATHLETE_F, gTrainerPalette_CyclingTriathleteF), + TRAINER_PAL(RUNNING_TRIATHLETE_M, gTrainerPalette_RunningTriathleteM), + TRAINER_PAL(RUNNING_TRIATHLETE_F, gTrainerPalette_RunningTriathleteF), + TRAINER_PAL(SWIMMING_TRIATHLETE_M, gTrainerPalette_SwimmingTriathleteM), + TRAINER_PAL(SWIMMING_TRIATHLETE_F, gTrainerPalette_SwimmingTriathleteF), + TRAINER_PAL(DRAGON_TAMER, gTrainerPalette_DragonTamer), + TRAINER_PAL(NINJA_BOY, gTrainerPalette_NinjaBoy), + TRAINER_PAL(BATTLE_GIRL, gTrainerPalette_BattleGirl), + TRAINER_PAL(PARASOL_LADY, gTrainerPalette_ParasolLady), + TRAINER_PAL(SWIMMER_F, gTrainerPalette_SwimmerF), + TRAINER_PAL(TWINS, gTrainerPalette_Twins), + TRAINER_PAL(SAILOR, gTrainerPalette_Sailor), + TRAINER_PAL(MAGMA_ADMIN, gTrainerPalette_MagmaAdmin), + TRAINER_PAL(WALLY, gTrainerPalette_Wally), + TRAINER_PAL(BRENDAN, gTrainerPalette_Brendan), + TRAINER_PAL(MAY, gTrainerPalette_May), + TRAINER_PAL(BUG_CATCHER, gTrainerPalette_BugCatcher), + TRAINER_PAL(POKEMON_RANGER_M, gTrainerPalette_PokemonRangerM), + TRAINER_PAL(POKEMON_RANGER_F, gTrainerPalette_PokemonRangerF), + TRAINER_PAL(MAGMA_LEADER_MAXIE, gTrainerPalette_MagmaLeaderMaxie), + TRAINER_PAL(LASS, gTrainerPalette_Lass), + TRAINER_PAL(YOUNG_COUPLE, gTrainerPalette_YoungCouple), + TRAINER_PAL(OLD_COUPLE, gTrainerPalette_OldCouple), + TRAINER_PAL(SIS_AND_BRO, gTrainerPalette_SisAndBro), + TRAINER_PAL(STEVEN, gTrainerPalette_Steven), + TRAINER_PAL(SALON_MAIDEN_ANABEL, gTrainerPalette_SalonMaidenAnabel), + TRAINER_PAL(DOME_ACE_TUCKER, gTrainerPalette_DomeAceTucker), + TRAINER_PAL(PALACE_MAVEN_SPENSER, gTrainerPalette_PalaceMavenSpenser), + TRAINER_PAL(ARENA_TYCOON_GRETA, gTrainerPalette_ArenaTycoonGreta), + TRAINER_PAL(FACTORY_HEAD_NOLAND, gTrainerPalette_FactoryHeadNoland), + TRAINER_PAL(PIKE_QUEEN_LUCY, gTrainerPalette_PikeQueenLucy), + TRAINER_PAL(PYRAMID_KING_BRANDON, gTrainerPalette_PyramidKingBrandon), + TRAINER_PAL(RED, gTrainerPalette_Red), + TRAINER_PAL(LEAF, gTrainerPalette_Leaf), + TRAINER_PAL(RS_BRENDAN, gTrainerPalette_RubySapphireBrendan), + TRAINER_PAL(RS_MAY, gTrainerPalette_RubySapphireMay), }; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index b4438e5b3..252eed760 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1,4 +1,4 @@ -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = { { .iv = 0, .lvl = 21, @@ -6,7 +6,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = { { .iv = 0, .lvl = 32, @@ -14,7 +14,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = { { .iv = 0, .lvl = 31, @@ -27,7 +27,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = { { .iv = 0, .lvl = 32, @@ -35,7 +35,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = { { .iv = 0, .lvl = 32, @@ -43,7 +43,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = { { .iv = 0, .lvl = 36, @@ -51,7 +51,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = { { .iv = 0, .lvl = 36, @@ -59,7 +59,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt7[] = { { .iv = 0, .lvl = 36, @@ -67,7 +67,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = { { .iv = 0, .lvl = 26, @@ -100,7 +100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt8[] = { { .iv = 0, .lvl = 9, @@ -108,7 +108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marcel[] = { { .iv = 100, .lvl = 29, @@ -121,7 +121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alberto[] = { { .iv = 0, .lvl = 30, @@ -134,7 +134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = { { .iv = 0, .lvl = 30, @@ -147,7 +147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt9[] = { { .iv = 0, .lvl = 36, @@ -155,7 +155,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = { { .iv = 0, .lvl = 34, @@ -163,7 +163,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = { { .iv = 0, .lvl = 11, @@ -171,7 +171,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = { { .iv = 0, .lvl = 27, @@ -184,7 +184,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = { { .iv = 0, .lvl = 27, @@ -197,7 +197,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = { { .iv = 0, .lvl = 26, @@ -215,7 +215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = { { .iv = 0, .lvl = 15, @@ -223,7 +223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = { { .iv = 0, .lvl = 14, @@ -236,7 +236,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = { { .iv = 0, .lvl = 32, @@ -244,7 +244,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = { { .iv = 0, .lvl = 32, @@ -252,7 +252,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = { { .iv = 0, .lvl = 32, @@ -260,7 +260,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = { { .iv = 0, .lvl = 30, @@ -273,7 +273,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = { { .iv = 0, .lvl = 28, @@ -281,7 +281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = { { .iv = 0, .lvl = 32, @@ -289,7 +289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt22[] = { { .iv = 0, .lvl = 32, @@ -297,7 +297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fredrick[] = { { .iv = 100, .lvl = 30, @@ -310,7 +310,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Matt[] = { { .iv = 50, .lvl = 34, @@ -323,7 +323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = { { .iv = 0, .lvl = 31, @@ -331,7 +331,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = { { .iv = 50, .lvl = 28, @@ -344,7 +344,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelly2[] = { { .iv = 100, .lvl = 37, @@ -357,7 +357,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Archie[] = { { .iv = 150, .lvl = 41, @@ -375,7 +375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leah[] = { { .iv = 0, .lvl = 31, @@ -383,7 +383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Daisy[] = { { .iv = 0, .lvl = 14, @@ -396,7 +396,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose1[] = { { .iv = 0, .lvl = 14, @@ -414,7 +414,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = { { .iv = 0, .lvl = 43, @@ -429,7 +429,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Violet[] = { { .iv = 0, .lvl = 26, @@ -442,7 +442,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose2[] = { { .iv = 10, .lvl = 26, @@ -455,7 +455,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose3[] = { { .iv = 20, .lvl = 28, @@ -473,7 +473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose4[] = { { .iv = 30, .lvl = 31, @@ -491,7 +491,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rose5[] = { { .iv = 40, .lvl = 34, @@ -509,7 +509,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = { { .iv = 50, .lvl = 23, @@ -518,7 +518,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = { { .iv = 50, .lvl = 27, @@ -539,7 +539,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = { { .iv = 100, .lvl = 25, @@ -554,7 +554,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = { { .iv = 60, .lvl = 27, @@ -563,7 +563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = { { .iv = 70, .lvl = 30, @@ -572,7 +572,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = { { .iv = 80, .lvl = 33, @@ -581,7 +581,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = { { .iv = 90, .lvl = 36, @@ -590,7 +590,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy1[] = { { .iv = 50, .lvl = 17, @@ -603,7 +603,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy2[] = { { .iv = 100, .lvl = 27, @@ -616,7 +616,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy3[] = { { .iv = 150, .lvl = 30, @@ -629,7 +629,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy4[] = { { .iv = 200, .lvl = 33, @@ -642,7 +642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy5[] = { { .iv = 250, .lvl = 36, @@ -655,7 +655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = { { .iv = 250, .lvl = 39, @@ -670,7 +670,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola1[] = { { .iv = 10, .lvl = 12, @@ -683,7 +683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Austina[] = { { .iv = 0, .lvl = 26, @@ -691,7 +691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gwen[] = { { .iv = 0, .lvl = 26, @@ -699,7 +699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola2[] = { { .iv = 10, .lvl = 26, @@ -712,7 +712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola3[] = { { .iv = 20, .lvl = 29, @@ -725,7 +725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola4[] = { { .iv = 30, .lvl = 32, @@ -738,7 +738,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lola5[] = { { .iv = 40, .lvl = 35, @@ -751,7 +751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = { { .iv = 10, .lvl = 13, @@ -760,7 +760,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Simon[] = { { .iv = 0, .lvl = 12, @@ -773,7 +773,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Charlie[] = { { .iv = 0, .lvl = 26, @@ -781,7 +781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = { { .iv = 10, .lvl = 27, @@ -790,7 +790,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = { { .iv = 20, .lvl = 30, @@ -799,7 +799,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = { { .iv = 30, .lvl = 33, @@ -808,7 +808,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = { { .iv = 40, .lvl = 36, @@ -817,7 +817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = { +static const struct TrainerMonItemCustomMoves sParty_Randall[] = { { .iv = 255, .lvl = 26, @@ -827,7 +827,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = { +static const struct TrainerMonItemCustomMoves sParty_Parker[] = { { .iv = 255, .lvl = 26, @@ -837,7 +837,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_George[] = { +static const struct TrainerMonItemCustomMoves sParty_George[] = { { .iv = 255, .lvl = 26, @@ -847,7 +847,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_George[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = { +static const struct TrainerMonItemCustomMoves sParty_Berke[] = { { .iv = 255, .lvl = 26, @@ -857,7 +857,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = { { .iv = 100, .lvl = 28, @@ -890,7 +890,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vincent[] = { { .iv = 100, .lvl = 44, @@ -908,7 +908,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leroy[] = { { .iv = 100, .lvl = 46, @@ -921,7 +921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton1[] = { { .iv = 100, .lvl = 17, @@ -939,7 +939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edgar[] = { { .iv = 100, .lvl = 43, @@ -952,7 +952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Albert[] = { { .iv = 100, .lvl = 43, @@ -965,7 +965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Samuel[] = { { .iv = 100, .lvl = 42, @@ -983,7 +983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vito[] = { { .iv = 100, .lvl = 42, @@ -1006,7 +1006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Owen[] = { { .iv = 100, .lvl = 42, @@ -1024,7 +1024,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton2[] = { { .iv = 110, .lvl = 26, @@ -1042,7 +1042,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton3[] = { { .iv = 120, .lvl = 29, @@ -1060,7 +1060,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton4[] = { { .iv = 130, .lvl = 32, @@ -1078,7 +1078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wilton5[] = { { .iv = 140, .lvl = 35, @@ -1096,7 +1096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Warren[] = { { .iv = 100, .lvl = 33, @@ -1109,7 +1109,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = { +static const struct TrainerMonItemCustomMoves sParty_Mary[] = { { .iv = 255, .lvl = 26, @@ -1119,7 +1119,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = { +static const struct TrainerMonItemCustomMoves sParty_Alexia[] = { { .iv = 255, .lvl = 26, @@ -1129,7 +1129,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = { +static const struct TrainerMonItemCustomMoves sParty_Jody[] = { { .iv = 255, .lvl = 26, @@ -1139,7 +1139,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = { { .iv = 100, .lvl = 29, @@ -1160,7 +1160,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Keira[] = { { .iv = 100, .lvl = 45, @@ -1173,7 +1173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke1[] = { { .iv = 100, .lvl = 17, @@ -1191,7 +1191,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jennifer[] = { { .iv = 200, .lvl = 30, @@ -1199,7 +1199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hope[] = { { .iv = 100, .lvl = 45, @@ -1207,7 +1207,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shannon[] = { { .iv = 100, .lvl = 45, @@ -1215,7 +1215,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Michelle[] = { { .iv = 100, .lvl = 42, @@ -1233,7 +1233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Caroline[] = { { .iv = 100, .lvl = 43, @@ -1246,7 +1246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Julie[] = { { .iv = 100, .lvl = 42, @@ -1264,7 +1264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke2[] = { { .iv = 110, .lvl = 26, @@ -1282,7 +1282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke3[] = { { .iv = 120, .lvl = 29, @@ -1300,7 +1300,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke4[] = { { .iv = 130, .lvl = 32, @@ -1318,7 +1318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brooke5[] = { { .iv = 140, .lvl = 34, @@ -1336,7 +1336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Patricia[] = { { .iv = 0, .lvl = 41, @@ -1349,7 +1349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kindra[] = { { .iv = 0, .lvl = 30, @@ -1362,7 +1362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tammy[] = { { .iv = 0, .lvl = 29, @@ -1375,7 +1375,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie1[] = { { .iv = 0, .lvl = 32, @@ -1383,7 +1383,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tasha[] = { { .iv = 50, .lvl = 32, @@ -1391,7 +1391,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie2[] = { { .iv = 10, .lvl = 31, @@ -1404,7 +1404,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie3[] = { { .iv = 20, .lvl = 35, @@ -1417,7 +1417,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie4[] = { { .iv = 30, .lvl = 40, @@ -1430,7 +1430,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Valerie5[] = { { .iv = 40, .lvl = 42, @@ -1448,7 +1448,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy1[] = { { .iv = 0, .lvl = 7, @@ -1457,7 +1457,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = { +static const struct TrainerMonItemCustomMoves sParty_Daphne[] = { { .iv = 100, .lvl = 39, @@ -1474,7 +1474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt23[] = { { .iv = 0, .lvl = 26, @@ -1492,7 +1492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = { +static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = { { .iv = 0, .lvl = 11, @@ -1502,7 +1502,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = { +static const struct TrainerMonItemDefaultMoves sParty_Brianna[] = { { .iv = 150, .lvl = 40, @@ -1511,7 +1511,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = { +static const struct TrainerMonItemDefaultMoves sParty_Naomi[] = { { .iv = 100, .lvl = 45, @@ -1520,7 +1520,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy3[] = { { .iv = 10, .lvl = 27, @@ -1529,7 +1529,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy4[] = { { .iv = 20, .lvl = 30, @@ -1538,7 +1538,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Cindy5[] = { { .iv = 30, .lvl = 33, @@ -1547,7 +1547,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = { +static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = { { .iv = 40, .lvl = 36, @@ -1557,7 +1557,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Melissa[] = { { .iv = 0, .lvl = 21, @@ -1565,7 +1565,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sheila[] = { { .iv = 0, .lvl = 21, @@ -1573,7 +1573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shirley[] = { { .iv = 0, .lvl = 21, @@ -1581,7 +1581,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = { { .iv = 0, .lvl = 29, @@ -1596,7 +1596,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Connie[] = { { .iv = 100, .lvl = 40, @@ -1604,7 +1604,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bridget[] = { { .iv = 150, .lvl = 40, @@ -1612,7 +1612,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = { { .iv = 100, .lvl = 35, @@ -1633,7 +1633,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tiffany[] = { { .iv = 100, .lvl = 39, @@ -1646,7 +1646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = { { .iv = 10, .lvl = 35, @@ -1661,7 +1661,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = { { .iv = 20, .lvl = 38, @@ -1676,7 +1676,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = { { .iv = 30, .lvl = 41, @@ -1691,7 +1691,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = { { .iv = 40, .lvl = 44, @@ -1706,7 +1706,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston1[] = { { .iv = 0, .lvl = 7, @@ -1715,7 +1715,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mollie[] = { { .iv = 0, .lvl = 33, @@ -1728,7 +1728,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = { +static const struct TrainerMonItemDefaultMoves sParty_Garret[] = { { .iv = 0, .lvl = 45, @@ -1737,7 +1737,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston2[] = { { .iv = 0, .lvl = 27, @@ -1746,7 +1746,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston3[] = { { .iv = 0, .lvl = 30, @@ -1755,7 +1755,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Winston4[] = { { .iv = 0, .lvl = 33, @@ -1764,7 +1764,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = { +static const struct TrainerMonItemCustomMoves sParty_Winston5[] = { { .iv = 0, .lvl = 36, @@ -1774,7 +1774,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve1[] = { { .iv = 0, .lvl = 19, @@ -1782,7 +1782,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia1[] = { { .iv = 0, .lvl = 25, @@ -1795,7 +1795,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = { { .iv = 0, .lvl = 31, @@ -1803,7 +1803,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt24[] = { { .iv = 0, .lvl = 20, @@ -1811,7 +1811,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve2[] = { { .iv = 10, .lvl = 27, @@ -1819,7 +1819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve3[] = { { .iv = 20, .lvl = 29, @@ -1832,7 +1832,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve4[] = { { .iv = 30, .lvl = 32, @@ -1845,7 +1845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Steve5[] = { { .iv = 40, .lvl = 35, @@ -1858,7 +1858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Luis[] = { { .iv = 0, .lvl = 26, @@ -1866,7 +1866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dominik[] = { { .iv = 0, .lvl = 26, @@ -1874,7 +1874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Douglas[] = { { .iv = 10, .lvl = 24, @@ -1887,7 +1887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darrin[] = { { .iv = 10, .lvl = 24, @@ -1905,7 +1905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony1[] = { { .iv = 0, .lvl = 26, @@ -1913,7 +1913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerome[] = { { .iv = 0, .lvl = 26, @@ -1921,7 +1921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Matthew[] = { { .iv = 0, .lvl = 26, @@ -1929,7 +1929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_David[] = { { .iv = 0, .lvl = 25, @@ -1942,7 +1942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Spencer[] = { { .iv = 0, .lvl = 33, @@ -1955,7 +1955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Roland[] = { { .iv = 0, .lvl = 34, @@ -1963,7 +1963,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nolen[] = { { .iv = 0, .lvl = 34, @@ -1971,7 +1971,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Stan[] = { { .iv = 0, .lvl = 34, @@ -1979,7 +1979,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Barry[] = { { .iv = 0, .lvl = 34, @@ -1987,7 +1987,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dean[] = { { .iv = 0, .lvl = 31, @@ -2005,7 +2005,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rodney[] = { { .iv = 0, .lvl = 34, @@ -2013,7 +2013,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Richard[] = { { .iv = 0, .lvl = 34, @@ -2021,7 +2021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Herman[] = { { .iv = 0, .lvl = 33, @@ -2034,7 +2034,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Santiago[] = { { .iv = 0, .lvl = 33, @@ -2047,7 +2047,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gilbert[] = { { .iv = 0, .lvl = 34, @@ -2055,7 +2055,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Franklin[] = { { .iv = 0, .lvl = 34, @@ -2063,7 +2063,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kevin[] = { { .iv = 0, .lvl = 34, @@ -2071,7 +2071,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jack[] = { { .iv = 0, .lvl = 34, @@ -2079,7 +2079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dudley[] = { { .iv = 0, .lvl = 33, @@ -2097,7 +2097,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chad[] = { { .iv = 0, .lvl = 33, @@ -2110,7 +2110,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony2[] = { { .iv = 10, .lvl = 30, @@ -2118,7 +2118,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony3[] = { { .iv = 20, .lvl = 33, @@ -2126,7 +2126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony4[] = { { .iv = 30, .lvl = 34, @@ -2139,7 +2139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tony5[] = { { .iv = 40, .lvl = 37, @@ -2152,7 +2152,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Takao[] = { { .iv = 127, .lvl = 13, @@ -2160,7 +2160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hitoshi[] = { { .iv = 50, .lvl = 32, @@ -2173,7 +2173,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kiyo[] = { { .iv = 100, .lvl = 34, @@ -2181,7 +2181,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koichi[] = { { .iv = 100, .lvl = 24, @@ -2194,7 +2194,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob1[] = { { .iv = 100, .lvl = 19, @@ -2202,7 +2202,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob2[] = { { .iv = 110, .lvl = 27, @@ -2210,7 +2210,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob3[] = { { .iv = 120, .lvl = 29, @@ -2223,7 +2223,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nob4[] = { { .iv = 130, .lvl = 31, @@ -2241,7 +2241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Nob5[] = { { .iv = 140, .lvl = 33, @@ -2268,7 +2268,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Yuji[] = { { .iv = 100, .lvl = 26, @@ -2281,7 +2281,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Daisuke[] = { { .iv = 100, .lvl = 19, @@ -2289,7 +2289,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Atsushi[] = { { .iv = 100, .lvl = 32, @@ -2297,7 +2297,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = { { .iv = 100, .lvl = 17, @@ -2312,7 +2312,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = { { .iv = 0, .lvl = 31, @@ -2325,7 +2325,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt26[] = { { .iv = 0, .lvl = 32, @@ -2333,7 +2333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shawn[] = { { .iv = 100, .lvl = 17, @@ -2346,7 +2346,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando1[] = { { .iv = 0, .lvl = 30, @@ -2359,7 +2359,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton1[] = { { .iv = 0, .lvl = 15, @@ -2372,7 +2372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton2[] = { { .iv = 10, .lvl = 25, @@ -2390,7 +2390,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton3[] = { { .iv = 20, .lvl = 28, @@ -2408,7 +2408,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton4[] = { { .iv = 30, .lvl = 31, @@ -2426,7 +2426,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dalton5[] = { { .iv = 40, .lvl = 34, @@ -2444,7 +2444,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cole[] = { { .iv = 100, .lvl = 23, @@ -2452,7 +2452,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeff[] = { { .iv = 100, .lvl = 22, @@ -2465,7 +2465,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Axle[] = { { .iv = 100, .lvl = 23, @@ -2473,7 +2473,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jace[] = { { .iv = 100, .lvl = 23, @@ -2481,7 +2481,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Keegan[] = { { .iv = 120, .lvl = 23, @@ -2489,7 +2489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie1[] = { { .iv = 0, .lvl = 18, @@ -2502,7 +2502,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie2[] = { { .iv = 10, .lvl = 26, @@ -2515,7 +2515,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie3[] = { { .iv = 20, .lvl = 29, @@ -2528,7 +2528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie4[] = { { .iv = 30, .lvl = 32, @@ -2541,7 +2541,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bernie5[] = { { .iv = 40, .lvl = 35, @@ -2554,7 +2554,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = { { .iv = 0, .lvl = 23, @@ -2563,7 +2563,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = { { .iv = 0, .lvl = 21, @@ -2584,7 +2584,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Larry[] = { { .iv = 0, .lvl = 18, @@ -2592,7 +2592,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shane[] = { { .iv = 0, .lvl = 18, @@ -2605,7 +2605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Justin[] = { { .iv = 0, .lvl = 24, @@ -2613,7 +2613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan1[] = { { .iv = 0, .lvl = 20, @@ -2626,7 +2626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Autumn[] = { { .iv = 0, .lvl = 21, @@ -2634,7 +2634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Travis[] = { { .iv = 0, .lvl = 18, @@ -2642,7 +2642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan2[] = { { .iv = 10, .lvl = 26, @@ -2655,7 +2655,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan3[] = { { .iv = 20, .lvl = 29, @@ -2668,7 +2668,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan4[] = { { .iv = 30, .lvl = 31, @@ -2686,7 +2686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ethan5[] = { { .iv = 40, .lvl = 34, @@ -2704,7 +2704,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brent[] = { { .iv = 100, .lvl = 26, @@ -2712,7 +2712,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Donald[] = { { .iv = 100, .lvl = 24, @@ -2730,7 +2730,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Taylor[] = { { .iv = 100, .lvl = 27, @@ -2748,7 +2748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey1[] = { { .iv = 0, .lvl = 27, @@ -2766,7 +2766,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Derek[] = { { .iv = 150, .lvl = 16, @@ -2779,7 +2779,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey2[] = { { .iv = 10, .lvl = 31, @@ -2797,7 +2797,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey3[] = { { .iv = 20, .lvl = 34, @@ -2815,7 +2815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey4[] = { { .iv = 30, .lvl = 36, @@ -2838,7 +2838,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Jeffrey5[] = { { .iv = 40, .lvl = 38, @@ -2871,7 +2871,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = { { .iv = 0, .lvl = 15, @@ -2880,7 +2880,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Preston[] = { { .iv = 100, .lvl = 36, @@ -2888,7 +2888,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Virgil[] = { { .iv = 100, .lvl = 36, @@ -2896,7 +2896,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Blake[] = { { .iv = 100, .lvl = 36, @@ -2904,7 +2904,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_William[] = { { .iv = 0, .lvl = 26, @@ -2922,7 +2922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joshua[] = { { .iv = 0, .lvl = 41, @@ -2935,7 +2935,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron1[] = { { .iv = 0, .lvl = 31, @@ -2943,7 +2943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron2[] = { { .iv = 10, .lvl = 33, @@ -2956,7 +2956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron3[] = { { .iv = 20, .lvl = 38, @@ -2969,7 +2969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron4[] = { { .iv = 30, .lvl = 41, @@ -2982,7 +2982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cameron5[] = { { .iv = 40, .lvl = 45, @@ -2995,7 +2995,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = { { .iv = 0, .lvl = 16, @@ -3004,7 +3004,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hannah[] = { { .iv = 100, .lvl = 36, @@ -3012,7 +3012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Samantha[] = { { .iv = 100, .lvl = 36, @@ -3020,7 +3020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maura[] = { { .iv = 100, .lvl = 36, @@ -3028,7 +3028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kayla[] = { { .iv = 0, .lvl = 26, @@ -3046,7 +3046,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alexis[] = { { .iv = 0, .lvl = 41, @@ -3059,7 +3059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki1[] = { { .iv = 0, .lvl = 30, @@ -3072,7 +3072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki2[] = { { .iv = 10, .lvl = 34, @@ -3085,7 +3085,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki3[] = { { .iv = 20, .lvl = 37, @@ -3098,7 +3098,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki4[] = { { .iv = 30, .lvl = 40, @@ -3111,7 +3111,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacki5[] = { { .iv = 40, .lvl = 43, @@ -3124,7 +3124,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Walter1[] = { { .iv = 0, .lvl = 29, @@ -3132,7 +3132,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Micah[] = { { .iv = 0, .lvl = 44, @@ -3145,7 +3145,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thomas[] = { { .iv = 0, .lvl = 45, @@ -3153,7 +3153,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Walter2[] = { { .iv = 10, .lvl = 34, @@ -3161,7 +3161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = { { .iv = 20, .lvl = 36, @@ -3176,7 +3176,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = { { .iv = 30, .lvl = 39, @@ -3191,7 +3191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = { { .iv = 40, .lvl = 41, @@ -3212,7 +3212,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = { +static const struct TrainerMonItemCustomMoves sParty_Sidney[] = { { .iv = 250, .lvl = 46, @@ -3250,7 +3250,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = { +static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = { { .iv = 250, .lvl = 48, @@ -3288,7 +3288,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = { +static const struct TrainerMonItemCustomMoves sParty_Glacia[] = { { .iv = 250, .lvl = 50, @@ -3326,7 +3326,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = { +static const struct TrainerMonItemCustomMoves sParty_Drake[] = { { .iv = 250, .lvl = 52, @@ -3364,7 +3364,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { { .iv = 100, .lvl = 12, @@ -3388,7 +3388,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = { { .iv = 100, .lvl = 16, @@ -3412,7 +3412,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = { { .iv = 200, .lvl = 20, @@ -3443,7 +3443,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = { { .iv = 200, .lvl = 24, @@ -3474,7 +3474,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman1[] = { { .iv = 200, .lvl = 27, @@ -3505,7 +3505,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona1[] = { { .iv = 210, .lvl = 29, @@ -3543,7 +3543,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = { { .iv = 250, .lvl = 41, @@ -3574,7 +3574,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan1[] = { { .iv = 200, .lvl = 41, @@ -3612,7 +3612,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry1[] = { { .iv = 10, .lvl = 9, @@ -3620,7 +3620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ted[] = { { .iv = 10, .lvl = 17, @@ -3628,7 +3628,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paul[] = { { .iv = 10, .lvl = 15, @@ -3646,7 +3646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry2[] = { { .iv = 20, .lvl = 26, @@ -3659,7 +3659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry3[] = { { .iv = 30, .lvl = 29, @@ -3672,7 +3672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry4[] = { { .iv = 40, .lvl = 32, @@ -3685,7 +3685,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jerry5[] = { { .iv = 50, .lvl = 34, @@ -3703,7 +3703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen1[] = { { .iv = 10, .lvl = 9, @@ -3711,7 +3711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Georgia[] = { { .iv = 10, .lvl = 16, @@ -3724,7 +3724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen2[] = { { .iv = 20, .lvl = 26, @@ -3737,7 +3737,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen3[] = { { .iv = 30, .lvl = 29, @@ -3750,7 +3750,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen4[] = { { .iv = 40, .lvl = 32, @@ -3763,7 +3763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Karen5[] = { { .iv = 50, .lvl = 35, @@ -3776,7 +3776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = { { .iv = 0, .lvl = 30, @@ -3791,7 +3791,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = { { .iv = 0, .lvl = 15, @@ -3806,7 +3806,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = { { .iv = 10, .lvl = 28, @@ -3821,7 +3821,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = { { .iv = 20, .lvl = 31, @@ -3836,7 +3836,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = { { .iv = 30, .lvl = 34, @@ -3851,7 +3851,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = { { .iv = 40, .lvl = 36, @@ -3866,7 +3866,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = { +static const struct TrainerMonItemDefaultMoves sParty_Victor[] = { { .iv = 25, .lvl = 16, @@ -3881,7 +3881,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel1[] = { { .iv = 0, .lvl = 15, @@ -3890,7 +3890,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = { +static const struct TrainerMonItemCustomMoves sParty_Colton[] = { { .iv = 0, .lvl = 22, @@ -3935,7 +3935,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel2[] = { { .iv = 0, .lvl = 29, @@ -3944,7 +3944,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel3[] = { { .iv = 0, .lvl = 32, @@ -3953,7 +3953,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel4[] = { { .iv = 0, .lvl = 35, @@ -3962,7 +3962,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Miguel5[] = { { .iv = 0, .lvl = 38, @@ -3971,7 +3971,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = { +static const struct TrainerMonItemDefaultMoves sParty_Victoria[] = { { .iv = 50, .lvl = 17, @@ -3980,7 +3980,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = { +static const struct TrainerMonItemDefaultMoves sParty_Vanessa[] = { { .iv = 0, .lvl = 30, @@ -3989,7 +3989,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = { +static const struct TrainerMonItemDefaultMoves sParty_Bethany[] = { { .iv = 100, .lvl = 35, @@ -4010,7 +4010,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel1[] = { { .iv = 0, .lvl = 14, @@ -4025,7 +4025,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel2[] = { { .iv = 10, .lvl = 26, @@ -4040,7 +4040,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel3[] = { { .iv = 20, .lvl = 29, @@ -4055,7 +4055,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel4[] = { { .iv = 30, .lvl = 32, @@ -4070,7 +4070,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Isabel5[] = { { .iv = 40, .lvl = 35, @@ -4085,7 +4085,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Timothy1[] = { { .iv = 200, .lvl = 27, @@ -4093,7 +4093,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = { { .iv = 210, .lvl = 33, @@ -4102,7 +4102,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = { { .iv = 220, .lvl = 36, @@ -4111,7 +4111,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = { { .iv = 230, .lvl = 39, @@ -4120,7 +4120,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = { { .iv = 240, .lvl = 42, @@ -4129,7 +4129,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = { { .iv = 200, .lvl = 18, @@ -4138,7 +4138,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby1[] = { { .iv = 200, .lvl = 21, @@ -4151,7 +4151,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby2[] = { { .iv = 210, .lvl = 30, @@ -4164,7 +4164,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby3[] = { { .iv = 220, .lvl = 33, @@ -4177,7 +4177,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby4[] = { { .iv = 230, .lvl = 36, @@ -4190,7 +4190,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shelby5[] = { { .iv = 240, .lvl = 39, @@ -4203,7 +4203,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin1[] = { { .iv = 0, .lvl = 5, @@ -4211,7 +4211,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Billy[] = { { .iv = 0, .lvl = 5, @@ -4224,7 +4224,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = { { .iv = 100, .lvl = 10, @@ -4233,7 +4233,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tommy[] = { { .iv = 110, .lvl = 8, @@ -4246,7 +4246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joey[] = { { .iv = 0, .lvl = 9, @@ -4254,7 +4254,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = { { .iv = 150, .lvl = 17, @@ -4269,7 +4269,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = { { .iv = 100, .lvl = 43, @@ -4284,7 +4284,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = { { .iv = 100, .lvl = 43, @@ -4299,7 +4299,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jaylen[] = { { .iv = 0, .lvl = 19, @@ -4307,7 +4307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dillon[] = { { .iv = 0, .lvl = 19, @@ -4315,7 +4315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin2[] = { { .iv = 10, .lvl = 27, @@ -4323,7 +4323,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin3[] = { { .iv = 20, .lvl = 28, @@ -4336,7 +4336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin4[] = { { .iv = 30, .lvl = 31, @@ -4354,7 +4354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Calvin5[] = { { .iv = 40, .lvl = 34, @@ -4372,7 +4372,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eddie[] = { { .iv = 0, .lvl = 14, @@ -4385,7 +4385,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Allen[] = { { .iv = 0, .lvl = 4, @@ -4398,7 +4398,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Timmy[] = { { .iv = 0, .lvl = 15, @@ -4411,7 +4411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = { +static const struct TrainerMonItemCustomMoves sParty_Wallace[] = { { .iv = 255, .lvl = 57, @@ -4456,7 +4456,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andrew[] = { { .iv = 0, .lvl = 5, @@ -4474,7 +4474,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ivan[] = { { .iv = 0, .lvl = 5, @@ -4492,7 +4492,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Claude[] = { { .iv = 0, .lvl = 16, @@ -4510,7 +4510,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot1[] = { { .iv = 0, .lvl = 10, @@ -4528,7 +4528,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ned[] = { { .iv = 10, .lvl = 11, @@ -4536,7 +4536,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dale[] = { { .iv = 0, .lvl = 11, @@ -4559,7 +4559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nolan[] = { { .iv = 0, .lvl = 19, @@ -4567,7 +4567,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Barny[] = { { .iv = 0, .lvl = 25, @@ -4580,7 +4580,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wade[] = { { .iv = 0, .lvl = 16, @@ -4588,7 +4588,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carter[] = { { .iv = 10, .lvl = 25, @@ -4601,7 +4601,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot2[] = { { .iv = 10, .lvl = 24, @@ -4619,7 +4619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot3[] = { { .iv = 20, .lvl = 29, @@ -4642,7 +4642,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot4[] = { { .iv = 30, .lvl = 31, @@ -4665,7 +4665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elliot5[] = { { .iv = 40, .lvl = 33, @@ -4688,7 +4688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ronald[] = { { .iv = 0, .lvl = 19, @@ -4721,7 +4721,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jacob[] = { { .iv = 20, .lvl = 6, @@ -4739,7 +4739,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Anthony[] = { { .iv = 0, .lvl = 14, @@ -4752,7 +4752,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin1[] = { { .iv = 0, .lvl = 16, @@ -4760,7 +4760,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin2[] = { { .iv = 10, .lvl = 30, @@ -4768,7 +4768,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin3[] = { { .iv = 20, .lvl = 33, @@ -4776,7 +4776,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin4[] = { { .iv = 30, .lvl = 36, @@ -4784,7 +4784,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin5[] = { { .iv = 40, .lvl = 39, @@ -4792,7 +4792,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail1[] = { { .iv = 0, .lvl = 16, @@ -4800,7 +4800,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jasmine[] = { { .iv = 80, .lvl = 14, @@ -4818,7 +4818,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail2[] = { { .iv = 10, .lvl = 28, @@ -4826,7 +4826,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail3[] = { { .iv = 20, .lvl = 31, @@ -4834,7 +4834,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail4[] = { { .iv = 30, .lvl = 34, @@ -4842,7 +4842,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Abigail5[] = { { .iv = 40, .lvl = 37, @@ -4850,7 +4850,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan1[] = { { .iv = 0, .lvl = 17, @@ -4858,7 +4858,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan2[] = { { .iv = 10, .lvl = 28, @@ -4866,7 +4866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan3[] = { { .iv = 20, .lvl = 31, @@ -4874,7 +4874,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan4[] = { { .iv = 30, .lvl = 34, @@ -4882,7 +4882,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dylan5[] = { { .iv = 40, .lvl = 37, @@ -4890,7 +4890,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria1[] = { { .iv = 0, .lvl = 17, @@ -4898,7 +4898,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria2[] = { { .iv = 10, .lvl = 28, @@ -4906,7 +4906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria3[] = { { .iv = 20, .lvl = 31, @@ -4914,7 +4914,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria4[] = { { .iv = 30, .lvl = 34, @@ -4922,7 +4922,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maria5[] = { { .iv = 40, .lvl = 37, @@ -4930,7 +4930,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Camden[] = { { .iv = 0, .lvl = 33, @@ -4943,7 +4943,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Demetrius[] = { { .iv = 0, .lvl = 25, @@ -4956,7 +4956,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah1[] = { { .iv = 0, .lvl = 35, @@ -4964,7 +4964,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo1[] = { { .iv = 0, .lvl = 33, @@ -4977,7 +4977,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chase[] = { { .iv = 0, .lvl = 26, @@ -4990,7 +4990,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah2[] = { { .iv = 10, .lvl = 39, @@ -4998,7 +4998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah3[] = { { .iv = 20, .lvl = 42, @@ -5006,7 +5006,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah4[] = { { .iv = 30, .lvl = 45, @@ -5014,7 +5014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah5[] = { { .iv = 40, .lvl = 48, @@ -5022,7 +5022,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isobel[] = { { .iv = 0, .lvl = 34, @@ -5030,7 +5030,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Donny[] = { { .iv = 0, .lvl = 26, @@ -5043,7 +5043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Talia[] = { { .iv = 0, .lvl = 34, @@ -5051,7 +5051,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn1[] = { { .iv = 0, .lvl = 35, @@ -5059,7 +5059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Allison[] = { { .iv = 0, .lvl = 27, @@ -5072,7 +5072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn2[] = { { .iv = 10, .lvl = 39, @@ -5080,7 +5080,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn3[] = { { .iv = 20, .lvl = 42, @@ -5088,7 +5088,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn4[] = { { .iv = 30, .lvl = 45, @@ -5096,7 +5096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn5[] = { { .iv = 40, .lvl = 48, @@ -5104,7 +5104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas1[] = { { .iv = 100, .lvl = 37, @@ -5117,7 +5117,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas2[] = { { .iv = 110, .lvl = 41, @@ -5130,7 +5130,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas3[] = { { .iv = 120, .lvl = 44, @@ -5143,7 +5143,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas4[] = { { .iv = 130, .lvl = 46, @@ -5161,7 +5161,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = { +static const struct TrainerMonItemDefaultMoves sParty_Nicolas5[] = { { .iv = 140, .lvl = 49, @@ -5182,7 +5182,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = { { .iv = 255, .lvl = 34, @@ -5191,7 +5191,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Perry[] = { { .iv = 0, .lvl = 26, @@ -5199,7 +5199,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hugh[] = { { .iv = 0, .lvl = 25, @@ -5212,7 +5212,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Phil[] = { { .iv = 0, .lvl = 26, @@ -5220,7 +5220,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jared[] = { { .iv = 100, .lvl = 27, @@ -5238,7 +5238,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Humberto[] = { { .iv = 250, .lvl = 30, @@ -5246,7 +5246,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Presley[] = { { .iv = 0, .lvl = 33, @@ -5259,7 +5259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwardo[] = { { .iv = 150, .lvl = 29, @@ -5272,7 +5272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Colin[] = { { .iv = 0, .lvl = 28, @@ -5285,7 +5285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert1[] = { { .iv = 0, .lvl = 29, @@ -5293,7 +5293,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Benny[] = { { .iv = 0, .lvl = 36, @@ -5311,7 +5311,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chester[] = { { .iv = 0, .lvl = 25, @@ -5324,7 +5324,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert2[] = { { .iv = 10, .lvl = 32, @@ -5337,7 +5337,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert3[] = { { .iv = 20, .lvl = 35, @@ -5350,7 +5350,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert4[] = { { .iv = 30, .lvl = 38, @@ -5363,7 +5363,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robert5[] = { { .iv = 40, .lvl = 41, @@ -5376,7 +5376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alex[] = { { .iv = 150, .lvl = 33, @@ -5389,7 +5389,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beck[] = { { .iv = 0, .lvl = 34, @@ -5397,7 +5397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Yasu[] = { { .iv = 0, .lvl = 26, @@ -5405,7 +5405,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Takashi[] = { { .iv = 0, .lvl = 25, @@ -5418,7 +5418,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = { +static const struct TrainerMonItemCustomMoves sParty_Dianne[] = { { .iv = 0, .lvl = 43, @@ -5435,7 +5435,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jani[] = { { .iv = 0, .lvl = 26, @@ -5443,7 +5443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = { { .iv = 0, .lvl = 17, @@ -5464,7 +5464,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lung[] = { { .iv = 0, .lvl = 18, @@ -5477,7 +5477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = { { .iv = 0, .lvl = 24, @@ -5504,7 +5504,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = { { .iv = 20, .lvl = 27, @@ -5531,7 +5531,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = { { .iv = 30, .lvl = 30, @@ -5558,7 +5558,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = { +static const struct TrainerMonItemCustomMoves sParty_Lao5[] = { { .iv = 40, .lvl = 33, @@ -5589,7 +5589,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jocelyn[] = { { .iv = 127, .lvl = 13, @@ -5597,7 +5597,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Laura[] = { { .iv = 150, .lvl = 13, @@ -5605,7 +5605,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy1[] = { { .iv = 100, .lvl = 18, @@ -5618,7 +5618,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cora[] = { { .iv = 100, .lvl = 27, @@ -5626,7 +5626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paula[] = { { .iv = 100, .lvl = 27, @@ -5634,7 +5634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy2[] = { { .iv = 110, .lvl = 26, @@ -5647,7 +5647,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy3[] = { { .iv = 120, .lvl = 29, @@ -5660,7 +5660,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy4[] = { { .iv = 130, .lvl = 32, @@ -5673,7 +5673,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy5[] = { { .iv = 140, .lvl = 35, @@ -5686,7 +5686,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = { { .iv = 0, .lvl = 19, @@ -5695,7 +5695,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clarissa[] = { { .iv = 0, .lvl = 28, @@ -5708,7 +5708,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = { { .iv = 50, .lvl = 30, @@ -5717,7 +5717,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = { { .iv = 10, .lvl = 29, @@ -5726,7 +5726,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = { { .iv = 20, .lvl = 32, @@ -5735,7 +5735,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = { { .iv = 30, .lvl = 34, @@ -5750,7 +5750,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = { { .iv = 40, .lvl = 37, @@ -5765,7 +5765,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beverly[] = { { .iv = 0, .lvl = 25, @@ -5778,7 +5778,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Imani[] = { { .iv = 0, .lvl = 26, @@ -5786,7 +5786,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kyla[] = { { .iv = 0, .lvl = 26, @@ -5794,7 +5794,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Denise[] = { { .iv = 0, .lvl = 25, @@ -5807,7 +5807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Beth[] = { { .iv = 0, .lvl = 26, @@ -5815,7 +5815,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tara[] = { { .iv = 0, .lvl = 25, @@ -5828,7 +5828,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Missy[] = { { .iv = 0, .lvl = 26, @@ -5836,7 +5836,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alice[] = { { .iv = 0, .lvl = 24, @@ -5854,7 +5854,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny1[] = { { .iv = 0, .lvl = 34, @@ -5862,7 +5862,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grace[] = { { .iv = 0, .lvl = 34, @@ -5870,7 +5870,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tanya[] = { { .iv = 0, .lvl = 34, @@ -5878,7 +5878,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sharon[] = { { .iv = 0, .lvl = 34, @@ -5886,7 +5886,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nikki[] = { { .iv = 0, .lvl = 33, @@ -5899,7 +5899,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brenda[] = { { .iv = 0, .lvl = 34, @@ -5907,7 +5907,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Katie[] = { { .iv = 0, .lvl = 33, @@ -5920,7 +5920,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Susie[] = { { .iv = 0, .lvl = 34, @@ -5928,7 +5928,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kara[] = { { .iv = 0, .lvl = 34, @@ -5936,7 +5936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dana[] = { { .iv = 0, .lvl = 34, @@ -5944,7 +5944,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sienna[] = { { .iv = 0, .lvl = 33, @@ -5957,7 +5957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Debra[] = { { .iv = 0, .lvl = 34, @@ -5965,7 +5965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Linda[] = { { .iv = 0, .lvl = 33, @@ -5978,7 +5978,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kaylee[] = { { .iv = 0, .lvl = 34, @@ -5991,7 +5991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Laurel[] = { { .iv = 0, .lvl = 33, @@ -6004,7 +6004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carlee[] = { { .iv = 0, .lvl = 35, @@ -6012,7 +6012,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny2[] = { { .iv = 0, .lvl = 38, @@ -6020,7 +6020,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny3[] = { { .iv = 0, .lvl = 41, @@ -6028,7 +6028,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny4[] = { { .iv = 0, .lvl = 43, @@ -6041,7 +6041,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenny5[] = { { .iv = 0, .lvl = 45, @@ -6059,7 +6059,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = { { .iv = 0, .lvl = 22, @@ -6074,7 +6074,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = { { .iv = 0, .lvl = 22, @@ -6089,7 +6089,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carol[] = { { .iv = 0, .lvl = 17, @@ -6102,7 +6102,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nancy[] = { { .iv = 0, .lvl = 18, @@ -6115,7 +6115,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Martha[] = { { .iv = 0, .lvl = 23, @@ -6128,7 +6128,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana1[] = { { .iv = 0, .lvl = 19, @@ -6146,7 +6146,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = { { .iv = 0, .lvl = 32, @@ -6155,7 +6155,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Irene[] = { { .iv = 0, .lvl = 17, @@ -6168,7 +6168,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana2[] = { { .iv = 10, .lvl = 25, @@ -6186,7 +6186,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana3[] = { { .iv = 20, .lvl = 28, @@ -6204,7 +6204,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana4[] = { { .iv = 30, .lvl = 31, @@ -6222,7 +6222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Diana5[] = { { .iv = 40, .lvl = 40, @@ -6240,7 +6240,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv1[] = { { .iv = 0, .lvl = 15, @@ -6253,7 +6253,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv2[] = { { .iv = 10, .lvl = 27, @@ -6266,7 +6266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_GinaAndMia1[] = { { .iv = 0, .lvl = 6, @@ -6279,7 +6279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MiuAndYuki[] = { { .iv = 0, .lvl = 26, @@ -6292,7 +6292,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv3[] = { { .iv = 0, .lvl = 9, @@ -6305,7 +6305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = { { .iv = 0, .lvl = 10, @@ -6320,7 +6320,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv4[] = { { .iv = 20, .lvl = 30, @@ -6333,7 +6333,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = { { .iv = 30, .lvl = 33, @@ -6348,7 +6348,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = { { .iv = 40, .lvl = 36, @@ -6363,7 +6363,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Huey[] = { { .iv = 10, .lvl = 12, @@ -6376,7 +6376,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edmond[] = { { .iv = 0, .lvl = 13, @@ -6384,7 +6384,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest1[] = { { .iv = 0, .lvl = 33, @@ -6397,7 +6397,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dwayne[] = { { .iv = 0, .lvl = 11, @@ -6415,7 +6415,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Phillip[] = { { .iv = 0, .lvl = 44, @@ -6428,7 +6428,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leonard[] = { { .iv = 0, .lvl = 43, @@ -6446,7 +6446,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Duncan[] = { { .iv = 0, .lvl = 25, @@ -6459,7 +6459,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest2[] = { { .iv = 10, .lvl = 36, @@ -6477,7 +6477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest3[] = { { .iv = 20, .lvl = 39, @@ -6495,7 +6495,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest4[] = { { .iv = 30, .lvl = 42, @@ -6513,7 +6513,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ernest5[] = { { .iv = 40, .lvl = 45, @@ -6531,7 +6531,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eli[] = { { .iv = 100, .lvl = 23, @@ -6539,7 +6539,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = { +static const struct TrainerMonItemCustomMoves sParty_Annika[] = { { .iv = 100, .lvl = 39, @@ -6556,7 +6556,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jazmyn[] = { { .iv = 0, .lvl = 27, @@ -6564,7 +6564,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = { { .iv = 0, .lvl = 31, @@ -6573,7 +6573,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = { { .iv = 0, .lvl = 31, @@ -6582,7 +6582,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Auron[] = { { .iv = 0, .lvl = 33, @@ -6595,7 +6595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kelvin[] = { { .iv = 150, .lvl = 33, @@ -6608,7 +6608,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = { +static const struct TrainerMonItemCustomMoves sParty_Marley[] = { { .iv = 255, .lvl = 34, @@ -6618,7 +6618,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Reyna[] = { { .iv = 50, .lvl = 33, @@ -6631,7 +6631,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hudson[] = { { .iv = 0, .lvl = 34, @@ -6639,7 +6639,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Conor[] = { { .iv = 0, .lvl = 33, @@ -6652,7 +6652,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin1[] = { { .iv = 0, .lvl = 14, @@ -6665,7 +6665,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = { { .iv = 0, .lvl = 18, @@ -6678,7 +6678,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha1[] = { { .iv = 100, .lvl = 36, @@ -6696,7 +6696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin2[] = { { .iv = 0, .lvl = 26, @@ -6709,7 +6709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin3[] = { { .iv = 0, .lvl = 29, @@ -6722,7 +6722,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin4[] = { { .iv = 0, .lvl = 32, @@ -6735,7 +6735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = { { .iv = 0, .lvl = 35, @@ -6748,7 +6748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally1[] = { { .iv = 150, .lvl = 44, @@ -6781,7 +6781,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = { { .iv = 0, .lvl = 5, @@ -6789,7 +6789,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = { { .iv = 50, .lvl = 18, @@ -6807,7 +6807,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = { { .iv = 100, .lvl = 29, @@ -6825,7 +6825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = { { .iv = 0, .lvl = 5, @@ -6833,7 +6833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = { { .iv = 50, .lvl = 18, @@ -6851,7 +6851,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = { { .iv = 100, .lvl = 29, @@ -6869,7 +6869,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = { { .iv = 0, .lvl = 5, @@ -6877,7 +6877,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = { { .iv = 50, .lvl = 18, @@ -6895,7 +6895,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = { { .iv = 100, .lvl = 29, @@ -6913,7 +6913,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = { { .iv = 0, .lvl = 5, @@ -6921,7 +6921,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = { { .iv = 50, .lvl = 18, @@ -6939,7 +6939,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = { { .iv = 100, .lvl = 29, @@ -6957,7 +6957,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = { { .iv = 0, .lvl = 5, @@ -6965,7 +6965,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = { { .iv = 50, .lvl = 18, @@ -6983,7 +6983,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = { { .iv = 100, .lvl = 29, @@ -7001,7 +7001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = { { .iv = 0, .lvl = 5, @@ -7009,7 +7009,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = { { .iv = 50, .lvl = 18, @@ -7027,7 +7027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May9[] = { { .iv = 100, .lvl = 29, @@ -7045,7 +7045,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac1[] = { { .iv = 0, .lvl = 11, @@ -7078,7 +7078,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Davis[] = { { .iv = 0, .lvl = 27, @@ -7086,7 +7086,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = { { .iv = 0, .lvl = 43, @@ -7101,7 +7101,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac2[] = { { .iv = 10, .lvl = 22, @@ -7134,7 +7134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac3[] = { { .iv = 20, .lvl = 25, @@ -7167,7 +7167,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac4[] = { { .iv = 30, .lvl = 28, @@ -7200,7 +7200,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isaac5[] = { { .iv = 40, .lvl = 31, @@ -7233,7 +7233,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia1[] = { { .iv = 0, .lvl = 11, @@ -7266,7 +7266,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Halle[] = { { .iv = 0, .lvl = 43, @@ -7279,7 +7279,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Garrison[] = { { .iv = 0, .lvl = 26, @@ -7287,7 +7287,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia2[] = { { .iv = 10, .lvl = 22, @@ -7320,7 +7320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia3[] = { { .iv = 20, .lvl = 25, @@ -7353,7 +7353,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia4[] = { { .iv = 30, .lvl = 28, @@ -7386,7 +7386,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lydia5[] = { { .iv = 40, .lvl = 31, @@ -7419,7 +7419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson1[] = { { .iv = 50, .lvl = 27, @@ -7427,7 +7427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lorenzo[] = { { .iv = 50, .lvl = 28, @@ -7445,7 +7445,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sebastian[] = { { .iv = 50, .lvl = 39, @@ -7453,7 +7453,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson2[] = { { .iv = 60, .lvl = 31, @@ -7461,7 +7461,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson3[] = { { .iv = 70, .lvl = 34, @@ -7469,7 +7469,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson4[] = { { .iv = 80, .lvl = 37, @@ -7477,7 +7477,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jackson5[] = { { .iv = 90, .lvl = 39, @@ -7490,7 +7490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine1[] = { { .iv = 50, .lvl = 26, @@ -7503,7 +7503,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jenna[] = { { .iv = 50, .lvl = 28, @@ -7521,7 +7521,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sophia[] = { { .iv = 50, .lvl = 38, @@ -7534,7 +7534,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine2[] = { { .iv = 60, .lvl = 30, @@ -7547,7 +7547,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine3[] = { { .iv = 70, .lvl = 33, @@ -7560,7 +7560,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine4[] = { { .iv = 80, .lvl = 36, @@ -7573,7 +7573,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Catherine5[] = { { .iv = 90, .lvl = 39, @@ -7586,7 +7586,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = { { .iv = 0, .lvl = 21, @@ -7594,7 +7594,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = { { .iv = 50, .lvl = 35, @@ -7607,7 +7607,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = { { .iv = 0, .lvl = 31, @@ -7620,7 +7620,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = { { .iv = 0, .lvl = 30, @@ -7633,7 +7633,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt30[] = { { .iv = 50, .lvl = 22, @@ -7646,7 +7646,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marc[] = { { .iv = 120, .lvl = 8, @@ -7659,7 +7659,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brenden[] = { { .iv = 100, .lvl = 13, @@ -7667,7 +7667,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lilith[] = { { .iv = 150, .lvl = 13, @@ -7675,7 +7675,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristian[] = { { .iv = 200, .lvl = 13, @@ -7683,7 +7683,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sylvia[] = { { .iv = 100, .lvl = 36, @@ -7691,7 +7691,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leonardo[] = { { .iv = 0, .lvl = 34, @@ -7699,7 +7699,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = { +static const struct TrainerMonItemCustomMoves sParty_Athena[] = { { .iv = 100, .lvl = 32, @@ -7716,7 +7716,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = { { .iv = 0, .lvl = 35, @@ -7724,7 +7724,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt31[] = { { .iv = 0, .lvl = 20, @@ -7732,7 +7732,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clarence[] = { { .iv = 0, .lvl = 34, @@ -7740,7 +7740,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Terry[] = { { .iv = 0, .lvl = 37, @@ -7748,7 +7748,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nate[] = { { .iv = 100, .lvl = 36, @@ -7756,7 +7756,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kathleen[] = { { .iv = 100, .lvl = 36, @@ -7764,7 +7764,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clifford[] = { { .iv = 0, .lvl = 36, @@ -7772,7 +7772,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = { { .iv = 0, .lvl = 36, @@ -7780,7 +7780,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = { { .iv = 0, .lvl = 31, @@ -7793,7 +7793,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = { { .iv = 0, .lvl = 32, @@ -7801,7 +7801,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = { { .iv = 0, .lvl = 32, @@ -7809,7 +7809,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = { { .iv = 0, .lvl = 32, @@ -7817,7 +7817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt36[] = { { .iv = 0, .lvl = 32, @@ -7825,7 +7825,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = { { .iv = 0, .lvl = 36, @@ -7833,7 +7833,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = { { .iv = 25, .lvl = 13, @@ -7846,7 +7846,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan11[] = { { .iv = 25, .lvl = 13, @@ -7859,7 +7859,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Paxton[] = { { .iv = 0, .lvl = 33, @@ -7872,7 +7872,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = { { .iv = 0, .lvl = 34, @@ -7880,7 +7880,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = { { .iv = 0, .lvl = 27, @@ -7893,7 +7893,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha2[] = { { .iv = 50, .lvl = 18, @@ -7916,7 +7916,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = { { .iv = 0, .lvl = 33, @@ -7929,7 +7929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = { { .iv = 25, .lvl = 13, @@ -7942,7 +7942,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = { { .iv = 25, .lvl = 13, @@ -7955,7 +7955,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = { { .iv = 150, .lvl = 37, @@ -7973,7 +7973,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie2[] = { { .iv = 150, .lvl = 24, @@ -7991,7 +7991,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tiana[] = { { .iv = 0, .lvl = 4, @@ -8004,7 +8004,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley1[] = { { .iv = 0, .lvl = 6, @@ -8017,7 +8017,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Janice[] = { { .iv = 0, .lvl = 9, @@ -8025,7 +8025,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Vivi[] = { { .iv = 100, .lvl = 15, @@ -8043,7 +8043,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley2[] = { { .iv = 10, .lvl = 26, @@ -8056,7 +8056,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley3[] = { { .iv = 20, .lvl = 29, @@ -8069,7 +8069,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley4[] = { { .iv = 30, .lvl = 32, @@ -8082,7 +8082,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Haley5[] = { { .iv = 40, .lvl = 34, @@ -8100,7 +8100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sally[] = { { .iv = 0, .lvl = 16, @@ -8108,7 +8108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Robin[] = { { .iv = 0, .lvl = 14, @@ -8126,7 +8126,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andrea[] = { { .iv = 100, .lvl = 40, @@ -8134,7 +8134,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Crissy[] = { { .iv = 100, .lvl = 39, @@ -8147,7 +8147,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rick[] = { { .iv = 0, .lvl = 4, @@ -8160,7 +8160,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lyle[] = { { .iv = 0, .lvl = 3, @@ -8183,7 +8183,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jose[] = { { .iv = 50, .lvl = 8, @@ -8196,7 +8196,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Doug[] = { { .iv = 0, .lvl = 28, @@ -8209,7 +8209,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Greg[] = { { .iv = 0, .lvl = 25, @@ -8222,7 +8222,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kent[] = { { .iv = 0, .lvl = 25, @@ -8230,7 +8230,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James1[] = { { .iv = 0, .lvl = 6, @@ -8243,7 +8243,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James2[] = { { .iv = 10, .lvl = 27, @@ -8251,7 +8251,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James3[] = { { .iv = 20, .lvl = 29, @@ -8264,7 +8264,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James4[] = { { .iv = 30, .lvl = 31, @@ -8282,7 +8282,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_James5[] = { { .iv = 40, .lvl = 33, @@ -8305,7 +8305,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brice[] = { { .iv = 0, .lvl = 17, @@ -8318,7 +8318,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent1[] = { { .iv = 0, .lvl = 16, @@ -8336,7 +8336,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lenny[] = { { .iv = 0, .lvl = 18, @@ -8349,7 +8349,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lucas1[] = { { .iv = 0, .lvl = 18, @@ -8362,7 +8362,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alan[] = { { .iv = 0, .lvl = 22, @@ -8380,7 +8380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Clark[] = { { .iv = 0, .lvl = 8, @@ -8388,7 +8388,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Eric[] = { { .iv = 0, .lvl = 20, @@ -8401,7 +8401,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = { { .iv = 0, .lvl = 9, @@ -8410,7 +8410,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = { { .iv = 0, .lvl = 10, @@ -8425,7 +8425,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mike2[] = { { .iv = 0, .lvl = 16, @@ -8443,7 +8443,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent2[] = { { .iv = 10, .lvl = 24, @@ -8466,7 +8466,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent3[] = { { .iv = 20, .lvl = 27, @@ -8489,7 +8489,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent4[] = { { .iv = 30, .lvl = 30, @@ -8512,7 +8512,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Trent5[] = { { .iv = 40, .lvl = 33, @@ -8535,7 +8535,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_DezAndLuke[] = { { .iv = 0, .lvl = 31, @@ -8548,7 +8548,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LeaAndJed[] = { { .iv = 0, .lvl = 45, @@ -8561,7 +8561,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan1[] = { { .iv = 0, .lvl = 25, @@ -8574,7 +8574,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan2[] = { { .iv = 10, .lvl = 30, @@ -8587,7 +8587,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan3[] = { { .iv = 20, .lvl = 33, @@ -8600,7 +8600,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan4[] = { { .iv = 30, .lvl = 36, @@ -8613,7 +8613,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan5[] = { { .iv = 40, .lvl = 39, @@ -8626,7 +8626,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Johanna[] = { { .iv = 0, .lvl = 13, @@ -8634,7 +8634,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = { { .iv = 100, .lvl = 23, @@ -8643,7 +8643,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = { { .iv = 100, .lvl = 17, @@ -8658,7 +8658,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = { { .iv = 100, .lvl = 23, @@ -8667,7 +8667,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = { { .iv = 0, .lvl = 25, @@ -8682,7 +8682,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = { { .iv = 0, .lvl = 28, @@ -8697,7 +8697,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = { { .iv = 0, .lvl = 28, @@ -8712,7 +8712,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Flint[] = { { .iv = 150, .lvl = 29, @@ -8725,7 +8725,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = { { .iv = 100, .lvl = 27, @@ -8743,7 +8743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = { { .iv = 30, .lvl = 16, @@ -8751,7 +8751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally3[] = { { .iv = 150, .lvl = 47, @@ -8784,7 +8784,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally4[] = { { .iv = 150, .lvl = 50, @@ -8817,7 +8817,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally5[] = { { .iv = 150, .lvl = 53, @@ -8850,7 +8850,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Wally6[] = { { .iv = 150, .lvl = 56, @@ -8883,7 +8883,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = { { .iv = 150, .lvl = 31, @@ -8906,7 +8906,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = { { .iv = 150, .lvl = 31, @@ -8929,7 +8929,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = { { .iv = 150, .lvl = 31, @@ -8952,7 +8952,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = { { .iv = 150, .lvl = 31, @@ -8975,7 +8975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = { { .iv = 150, .lvl = 31, @@ -8998,7 +8998,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May13[] = { { .iv = 150, .lvl = 31, @@ -9021,7 +9021,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jonah[] = { { .iv = 0, .lvl = 30, @@ -9039,7 +9039,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Henry[] = { { .iv = 0, .lvl = 31, @@ -9052,7 +9052,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Roger[] = { { .iv = 0, .lvl = 15, @@ -9070,7 +9070,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alexa[] = { { .iv = 100, .lvl = 34, @@ -9083,7 +9083,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Ruben[] = { { .iv = 100, .lvl = 34, @@ -9096,7 +9096,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji1[] = { { .iv = 0, .lvl = 34, @@ -9104,7 +9104,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wayne[] = { { .iv = 0, .lvl = 31, @@ -9122,7 +9122,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Aidan[] = { { .iv = 0, .lvl = 32, @@ -9135,7 +9135,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Reed[] = { { .iv = 0, .lvl = 33, @@ -9148,7 +9148,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tisha[] = { { .iv = 0, .lvl = 34, @@ -9156,7 +9156,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ToriAndTia[] = { { .iv = 0, .lvl = 19, @@ -9169,7 +9169,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = { +static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = { { .iv = 0, .lvl = 32, @@ -9184,7 +9184,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = { +static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = { { .iv = 0, .lvl = 18, @@ -9199,7 +9199,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = { +static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = { { .iv = 0, .lvl = 27, @@ -9214,7 +9214,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = { { .iv = 200, .lvl = 39, @@ -9229,7 +9229,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = { { .iv = 210, .lvl = 43, @@ -9244,7 +9244,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = { { .iv = 220, .lvl = 46, @@ -9259,7 +9259,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = { { .iv = 230, .lvl = 49, @@ -9274,7 +9274,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = { { .iv = 240, .lvl = 52, @@ -9289,7 +9289,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ReliAndIan[] = { { .iv = 0, .lvl = 35, @@ -9302,7 +9302,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy1[] = { { .iv = 0, .lvl = 34, @@ -9315,7 +9315,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy2[] = { { .iv = 0, .lvl = 42, @@ -9328,7 +9328,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy3[] = { { .iv = 0, .lvl = 45, @@ -9341,7 +9341,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy4[] = { { .iv = 0, .lvl = 48, @@ -9354,7 +9354,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy5[] = { { .iv = 0, .lvl = 51, @@ -9367,7 +9367,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_LisaAndRay[] = { { .iv = 0, .lvl = 27, @@ -9380,7 +9380,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chris[] = { { .iv = 0, .lvl = 29, @@ -9403,7 +9403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = { +static const struct TrainerMonItemDefaultMoves sParty_Dawson[] = { { .iv = 0, .lvl = 8, @@ -9418,7 +9418,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = { +static const struct TrainerMonItemDefaultMoves sParty_Sarah[] = { { .iv = 0, .lvl = 8, @@ -9433,7 +9433,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darian[] = { { .iv = 0, .lvl = 9, @@ -9441,7 +9441,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hailey[] = { { .iv = 0, .lvl = 13, @@ -9449,7 +9449,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Chandler[] = { { .iv = 0, .lvl = 12, @@ -9462,7 +9462,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = { } }; -const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = { +static const struct TrainerMonItemDefaultMoves sParty_Kaleb[] = { { .iv = 0, .lvl = 14, @@ -9477,7 +9477,7 @@ const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Joseph[] = { { .iv = 0, .lvl = 14, @@ -9490,7 +9490,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alyssa[] = { { .iv = 0, .lvl = 15, @@ -9498,7 +9498,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marcos[] = { { .iv = 100, .lvl = 15, @@ -9506,7 +9506,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rhett[] = { { .iv = 100, .lvl = 15, @@ -9514,7 +9514,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tyron[] = { { .iv = 0, .lvl = 19, @@ -9522,7 +9522,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Celina[] = { { .iv = 0, .lvl = 18, @@ -9530,7 +9530,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bianca[] = { { .iv = 0, .lvl = 18, @@ -9538,7 +9538,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Hayden[] = { { .iv = 0, .lvl = 18, @@ -9546,7 +9546,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sophie[] = { { .iv = 0, .lvl = 17, @@ -9559,7 +9559,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Coby[] = { { .iv = 0, .lvl = 17, @@ -9572,7 +9572,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lawrence[] = { { .iv = 0, .lvl = 18, @@ -9585,7 +9585,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Wyatt[] = { { .iv = 0, .lvl = 18, @@ -9598,7 +9598,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Angelina[] = { { .iv = 0, .lvl = 18, @@ -9611,7 +9611,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kai[] = { { .iv = 0, .lvl = 19, @@ -9619,7 +9619,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Charlotte[] = { { .iv = 0, .lvl = 19, @@ -9627,7 +9627,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = { { .iv = 0, .lvl = 14, @@ -9645,7 +9645,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = { { .iv = 0, .lvl = 29, @@ -9653,7 +9653,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = { { .iv = 0, .lvl = 29, @@ -9661,7 +9661,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = { { .iv = 0, .lvl = 29, @@ -9669,7 +9669,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = { { .iv = 0, .lvl = 28, @@ -9682,7 +9682,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = { { .iv = 0, .lvl = 28, @@ -9695,7 +9695,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = { { .iv = 0, .lvl = 29, @@ -9703,7 +9703,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = { { .iv = 0, .lvl = 29, @@ -9711,7 +9711,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = { { .iv = 0, .lvl = 29, @@ -9719,7 +9719,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = { { .iv = 0, .lvl = 29, @@ -9727,7 +9727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = { { .iv = 0, .lvl = 29, @@ -9735,7 +9735,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = { { .iv = 0, .lvl = 29, @@ -9743,7 +9743,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = { { .iv = 0, .lvl = 29, @@ -9751,7 +9751,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = { { .iv = 0, .lvl = 29, @@ -9759,7 +9759,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = { { .iv = 0, .lvl = 29, @@ -9767,7 +9767,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = { { .iv = 0, .lvl = 29, @@ -9775,7 +9775,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = { { .iv = 0, .lvl = 29, @@ -9783,7 +9783,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha3[] = { { .iv = 75, .lvl = 26, @@ -9806,7 +9806,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = { { .iv = 0, .lvl = 33, @@ -9819,7 +9819,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Maxie3[] = { { .iv = 150, .lvl = 42, @@ -9837,7 +9837,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pete[] = { { .iv = 0, .lvl = 15, @@ -9845,7 +9845,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Isabelle[] = { { .iv = 0, .lvl = 15, @@ -9853,7 +9853,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres1[] = { { .iv = 50, .lvl = 25, @@ -9866,7 +9866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Josue[] = { { .iv = 50, .lvl = 25, @@ -9879,7 +9879,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Camron[] = { { .iv = 0, .lvl = 26, @@ -9887,7 +9887,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory1[] = { { .iv = 0, .lvl = 24, @@ -9905,7 +9905,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Carolina[] = { { .iv = 50, .lvl = 24, @@ -9923,7 +9923,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Elijah[] = { { .iv = 0, .lvl = 25, @@ -9936,7 +9936,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Celia[] = { { .iv = 0, .lvl = 22, @@ -9949,7 +9949,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bryan[] = { { .iv = 0, .lvl = 22, @@ -9962,7 +9962,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Branden[] = { { .iv = 0, .lvl = 22, @@ -9975,7 +9975,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Bryant[] = { { .iv = 0, .lvl = 18, @@ -9988,7 +9988,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Shayla[] = { { .iv = 0, .lvl = 18, @@ -10001,7 +10001,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Kyra[] = { { .iv = 0, .lvl = 26, @@ -10014,7 +10014,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Jaiden[] = { { .iv = 0, .lvl = 26, @@ -10027,7 +10027,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alix[] = { { .iv = 0, .lvl = 26, @@ -10040,7 +10040,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Helene[] = { { .iv = 0, .lvl = 26, @@ -10053,7 +10053,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Marlene[] = { { .iv = 0, .lvl = 18, @@ -10066,7 +10066,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Devan[] = { { .iv = 0, .lvl = 8, @@ -10079,7 +10079,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Johnson[] = { { .iv = 0, .lvl = 8, @@ -10092,7 +10092,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Melina[] = { { .iv = 0, .lvl = 17, @@ -10100,7 +10100,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brandi[] = { { .iv = 0, .lvl = 17, @@ -10108,7 +10108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Aisha[] = { { .iv = 0, .lvl = 17, @@ -10116,7 +10116,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Makayla[] = { { .iv = 0, .lvl = 33, @@ -10129,7 +10129,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fabian[] = { { .iv = 0, .lvl = 26, @@ -10137,7 +10137,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Dayton[] = { { .iv = 0, .lvl = 25, @@ -10150,7 +10150,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Rachel[] = { { .iv = 0, .lvl = 26, @@ -10158,7 +10158,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = { } }; -const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = { +static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = { { .iv = 100, .lvl = 30, @@ -10167,7 +10167,7 @@ const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Callie[] = { { .iv = 0, .lvl = 28, @@ -10180,7 +10180,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cale[] = { { .iv = 0, .lvl = 29, @@ -10193,7 +10193,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Myles[] = { { .iv = 10, .lvl = 25, @@ -10226,7 +10226,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pat[] = { { .iv = 10, .lvl = 25, @@ -10259,7 +10259,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = { { .iv = 100, .lvl = 29, @@ -10272,7 +10272,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = { { .iv = 25, .lvl = 13, @@ -10285,7 +10285,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May15[] = { { .iv = 25, .lvl = 13, @@ -10298,7 +10298,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = { { .iv = 255, .lvl = 32, @@ -10329,7 +10329,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = { { .iv = 255, .lvl = 37, @@ -10367,7 +10367,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = { { .iv = 255, .lvl = 42, @@ -10405,7 +10405,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = { +static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = { { .iv = 255, .lvl = 47, @@ -10450,7 +10450,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = { { .iv = 255, .lvl = 33, @@ -10481,7 +10481,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = { { .iv = 255, .lvl = 38, @@ -10512,7 +10512,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = { { .iv = 255, .lvl = 40, @@ -10550,7 +10550,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = { +static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = { { .iv = 255, .lvl = 46, @@ -10595,7 +10595,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = { { .iv = 255, .lvl = 36, @@ -10626,7 +10626,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = { { .iv = 255, .lvl = 39, @@ -10664,7 +10664,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = { { .iv = 255, .lvl = 44, @@ -10702,7 +10702,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = { +static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = { { .iv = 255, .lvl = 50, @@ -10747,7 +10747,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = { { .iv = 255, .lvl = 38, @@ -10778,7 +10778,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = { { .iv = 255, .lvl = 41, @@ -10816,7 +10816,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = { { .iv = 255, .lvl = 46, @@ -10861,7 +10861,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = { +static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = { { .iv = 255, .lvl = 51, @@ -10906,7 +10906,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman2[] = { { .iv = 255, .lvl = 42, @@ -10937,7 +10937,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman3[] = { { .iv = 255, .lvl = 47, @@ -10975,7 +10975,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman4[] = { { .iv = 255, .lvl = 52, @@ -11013,7 +11013,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = { +static const struct TrainerMonItemCustomMoves sParty_Norman5[] = { { .iv = 255, .lvl = 57, @@ -11058,7 +11058,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona2[] = { { .iv = 255, .lvl = 40, @@ -11096,7 +11096,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona3[] = { { .iv = 255, .lvl = 43, @@ -11141,7 +11141,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona4[] = { { .iv = 255, .lvl = 48, @@ -11186,7 +11186,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = { +static const struct TrainerMonItemCustomMoves sParty_Winona5[] = { { .iv = 255, .lvl = 53, @@ -11231,7 +11231,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = { { .iv = 255, .lvl = 48, @@ -11269,7 +11269,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = { { .iv = 255, .lvl = 53, @@ -11314,7 +11314,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = { { .iv = 255, .lvl = 58, @@ -11359,7 +11359,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = { +static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = { { .iv = 255, .lvl = 63, @@ -11404,7 +11404,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan2[] = { { .iv = 255, .lvl = 46, @@ -11442,7 +11442,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan3[] = { { .iv = 255, .lvl = 50, @@ -11480,7 +11480,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan4[] = { { .iv = 255, .lvl = 56, @@ -11525,7 +11525,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = { +static const struct TrainerMonItemCustomMoves sParty_Juan5[] = { { .iv = 255, .lvl = 61, @@ -11570,7 +11570,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = { +static const struct TrainerMonItemCustomMoves sParty_Angelo[] = { { .iv = 100, .lvl = 17, @@ -11587,7 +11587,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Darius[] = { { .iv = 200, .lvl = 30, @@ -11595,7 +11595,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = { } }; -const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = { +static const struct TrainerMonItemCustomMoves sParty_Steven[] = { { .iv = 255, .lvl = 77, @@ -11640,7 +11640,7 @@ const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Anabel[] = { { .iv = 0, .lvl = 5, @@ -11648,7 +11648,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Tucker[] = { { .iv = 0, .lvl = 5, @@ -11656,7 +11656,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Spenser[] = { { .iv = 0, .lvl = 5, @@ -11664,7 +11664,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Greta[] = { { .iv = 0, .lvl = 5, @@ -11672,7 +11672,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Noland[] = { { .iv = 0, .lvl = 5, @@ -11680,7 +11680,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Lucy[] = { { .iv = 0, .lvl = 5, @@ -11688,7 +11688,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brandon[] = { { .iv = 0, .lvl = 5, @@ -11696,7 +11696,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres2[] = { { .iv = 10, .lvl = 31, @@ -11709,7 +11709,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres3[] = { { .iv = 20, .lvl = 33, @@ -11727,7 +11727,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres4[] = { { .iv = 30, .lvl = 35, @@ -11745,7 +11745,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Andres5[] = { { .iv = 40, .lvl = 37, @@ -11763,7 +11763,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory2[] = { { .iv = 10, .lvl = 30, @@ -11781,7 +11781,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory3[] = { { .iv = 20, .lvl = 32, @@ -11799,7 +11799,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory4[] = { { .iv = 30, .lvl = 34, @@ -11817,7 +11817,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cory5[] = { { .iv = 40, .lvl = 36, @@ -11835,7 +11835,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo2[] = { { .iv = 10, .lvl = 37, @@ -11848,7 +11848,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo3[] = { { .iv = 20, .lvl = 39, @@ -11866,7 +11866,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo4[] = { { .iv = 30, .lvl = 41, @@ -11884,7 +11884,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Pablo5[] = { { .iv = 40, .lvl = 43, @@ -11902,7 +11902,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji2[] = { { .iv = 10, .lvl = 37, @@ -11915,7 +11915,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji3[] = { { .iv = 20, .lvl = 39, @@ -11933,7 +11933,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji4[] = { { .iv = 30, .lvl = 41, @@ -11951,7 +11951,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Koji5[] = { { .iv = 40, .lvl = 43, @@ -11969,7 +11969,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin2[] = { { .iv = 110, .lvl = 35, @@ -11982,7 +11982,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin3[] = { { .iv = 120, .lvl = 37, @@ -12000,7 +12000,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin4[] = { { .iv = 130, .lvl = 39, @@ -12018,7 +12018,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Cristin5[] = { { .iv = 140, .lvl = 41, @@ -12036,7 +12036,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando2[] = { { .iv = 10, .lvl = 35, @@ -12054,7 +12054,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando3[] = { { .iv = 20, .lvl = 37, @@ -12072,7 +12072,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando4[] = { { .iv = 30, .lvl = 39, @@ -12090,7 +12090,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Fernando5[] = { { .iv = 40, .lvl = 41, @@ -12108,7 +12108,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer2[] = { { .iv = 10, .lvl = 26, @@ -12121,7 +12121,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer3[] = { { .iv = 20, .lvl = 28, @@ -12139,7 +12139,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer4[] = { { .iv = 30, .lvl = 30, @@ -12157,7 +12157,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer5[] = { { .iv = 40, .lvl = 33, @@ -12175,7 +12175,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle2[] = { { .iv = 10, .lvl = 31, @@ -12208,7 +12208,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle3[] = { { .iv = 20, .lvl = 33, @@ -12241,7 +12241,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle4[] = { { .iv = 30, .lvl = 35, @@ -12274,7 +12274,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle5[] = { { .iv = 40, .lvl = 37, @@ -12307,7 +12307,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia2[] = { { .iv = 10, .lvl = 34, @@ -12320,7 +12320,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia3[] = { { .iv = 20, .lvl = 36, @@ -12338,7 +12338,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia4[] = { { .iv = 30, .lvl = 38, @@ -12356,7 +12356,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Thalia5[] = { { .iv = 40, .lvl = 40, @@ -12374,7 +12374,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Mariela[] = { { .iv = 0, .lvl = 41, @@ -12382,7 +12382,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Alvaro[] = { { .iv = 0, .lvl = 41, @@ -12395,7 +12395,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Everett[] = { { .iv = 0, .lvl = 41, @@ -12403,7 +12403,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Red[] = { { .iv = 0, .lvl = 5, @@ -12411,7 +12411,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = { { .iv = 0, .lvl = 5, @@ -12419,7 +12419,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = { { .iv = 0, .lvl = 5, @@ -12427,7 +12427,7 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = { } }; -const struct TrainerMonNoItemDefaultMoves gTrainerParty_May16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_May16[] = { { .iv = 0, .lvl = 5, diff --git a/src/data/trainers.h b/src/data/trainers.h index 7ec297eb3..5a92926cc 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -24,7 +24,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer1 } + .party = {.NoItemDefaultMoves = sParty_Sawyer1 } }, [TRAINER_GRUNT_1] = @@ -38,7 +38,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt1 } + .party = {.NoItemDefaultMoves = sParty_Grunt1 } }, [TRAINER_GRUNT_2] = @@ -52,7 +52,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt2 } + .party = {.NoItemDefaultMoves = sParty_Grunt2 } }, [TRAINER_GRUNT_3] = @@ -66,7 +66,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt3 } + .party = {.NoItemDefaultMoves = sParty_Grunt3 } }, [TRAINER_GRUNT_4] = @@ -80,7 +80,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt4 } + .party = {.NoItemDefaultMoves = sParty_Grunt4 } }, [TRAINER_GRUNT_5] = @@ -94,7 +94,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt5 } + .party = {.NoItemDefaultMoves = sParty_Grunt5 } }, [TRAINER_GRUNT_6] = @@ -108,7 +108,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt6 } + .party = {.NoItemDefaultMoves = sParty_Grunt6 } }, [TRAINER_GRUNT_7] = @@ -122,7 +122,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt7 } + .party = {.NoItemDefaultMoves = sParty_Grunt7 } }, [TRAINER_GABRIELLE_1] = @@ -136,7 +136,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle1 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle1 } }, [TRAINER_GRUNT_8] = @@ -150,7 +150,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt8 } + .party = {.NoItemDefaultMoves = sParty_Grunt8 } }, [TRAINER_MARCEL] = @@ -164,7 +164,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marcel } + .party = {.NoItemDefaultMoves = sParty_Marcel } }, [TRAINER_ALBERTO] = @@ -178,7 +178,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alberto } + .party = {.NoItemDefaultMoves = sParty_Alberto } }, [TRAINER_ED] = @@ -192,7 +192,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ed } + .party = {.NoItemDefaultMoves = sParty_Ed } }, [TRAINER_GRUNT_9] = @@ -206,7 +206,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt9 } + .party = {.NoItemDefaultMoves = sParty_Grunt9 } }, [TRAINER_DECLAN] = @@ -220,7 +220,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Declan } + .party = {.NoItemDefaultMoves = sParty_Declan } }, [TRAINER_GRUNT_10] = @@ -234,7 +234,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt10 } + .party = {.NoItemDefaultMoves = sParty_Grunt10 } }, [TRAINER_GRUNT_11] = @@ -248,7 +248,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt11 } + .party = {.NoItemDefaultMoves = sParty_Grunt11 } }, [TRAINER_GRUNT_12] = @@ -262,7 +262,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt12 } + .party = {.NoItemDefaultMoves = sParty_Grunt12 } }, [TRAINER_GRUNT_13] = @@ -276,7 +276,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt13 } + .party = {.NoItemDefaultMoves = sParty_Grunt13 } }, [TRAINER_GRUNT_14] = @@ -290,7 +290,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt14 } + .party = {.NoItemDefaultMoves = sParty_Grunt14 } }, [TRAINER_GRUNT_15] = @@ -304,7 +304,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt15 } + .party = {.NoItemDefaultMoves = sParty_Grunt15 } }, [TRAINER_GRUNT_16] = @@ -318,7 +318,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt16 } + .party = {.NoItemDefaultMoves = sParty_Grunt16 } }, [TRAINER_GRUNT_17] = @@ -332,7 +332,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt17 } + .party = {.NoItemDefaultMoves = sParty_Grunt17 } }, [TRAINER_GRUNT_18] = @@ -346,7 +346,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt18 } + .party = {.NoItemDefaultMoves = sParty_Grunt18 } }, [TRAINER_GRUNT_19] = @@ -360,7 +360,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt19 } + .party = {.NoItemDefaultMoves = sParty_Grunt19 } }, [TRAINER_GRUNT_20] = @@ -374,7 +374,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt20 } + .party = {.NoItemDefaultMoves = sParty_Grunt20 } }, [TRAINER_GRUNT_21] = @@ -388,7 +388,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt21 } + .party = {.NoItemDefaultMoves = sParty_Grunt21 } }, [TRAINER_GRUNT_22] = @@ -402,7 +402,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt22 } + .party = {.NoItemDefaultMoves = sParty_Grunt22 } }, [TRAINER_FREDRICK] = @@ -416,7 +416,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Fredrick } + .party = {.NoItemDefaultMoves = sParty_Fredrick } }, [TRAINER_MATT] = @@ -430,7 +430,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Matt } + .party = {.NoItemDefaultMoves = sParty_Matt } }, [TRAINER_ZANDER] = @@ -444,7 +444,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Zander } + .party = {.NoItemDefaultMoves = sParty_Zander } }, [TRAINER_SHELLY_1] = @@ -458,7 +458,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelly1 } + .party = {.NoItemDefaultMoves = sParty_Shelly1 } }, [TRAINER_SHELLY_2] = @@ -472,7 +472,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelly2 } + .party = {.NoItemDefaultMoves = sParty_Shelly2 } }, [TRAINER_ARCHIE] = @@ -486,7 +486,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Archie } + .party = {.NoItemDefaultMoves = sParty_Archie } }, [TRAINER_LEAH] = @@ -500,7 +500,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leah } + .party = {.NoItemDefaultMoves = sParty_Leah } }, [TRAINER_DAISY] = @@ -514,7 +514,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Daisy } + .party = {.NoItemDefaultMoves = sParty_Daisy } }, [TRAINER_ROSE_1] = @@ -528,7 +528,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose1 } + .party = {.NoItemDefaultMoves = sParty_Rose1 } }, [TRAINER_FELIX] = @@ -542,7 +542,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Felix } + .party = {.NoItemCustomMoves = sParty_Felix } }, [TRAINER_VIOLET] = @@ -556,7 +556,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Violet } + .party = {.NoItemDefaultMoves = sParty_Violet } }, [TRAINER_ROSE_2] = @@ -570,7 +570,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose2 } + .party = {.NoItemDefaultMoves = sParty_Rose2 } }, [TRAINER_ROSE_3] = @@ -584,7 +584,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose3 } + .party = {.NoItemDefaultMoves = sParty_Rose3 } }, [TRAINER_ROSE_4] = @@ -598,7 +598,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose4 } + .party = {.NoItemDefaultMoves = sParty_Rose4 } }, [TRAINER_ROSE_5] = @@ -612,7 +612,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Rose5 } + .party = {.NoItemDefaultMoves = sParty_Rose5 } }, [TRAINER_DUSTY_1] = @@ -626,7 +626,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty1 } + .party = {.NoItemCustomMoves = sParty_Dusty1 } }, [TRAINER_CHIP] = @@ -640,7 +640,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Chip } + .party = {.NoItemCustomMoves = sParty_Chip } }, [TRAINER_FOSTER] = @@ -654,7 +654,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Foster } + .party = {.NoItemCustomMoves = sParty_Foster } }, [TRAINER_DUSTY_2] = @@ -668,7 +668,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty2 } + .party = {.NoItemCustomMoves = sParty_Dusty2 } }, [TRAINER_DUSTY_3] = @@ -682,7 +682,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty3 } + .party = {.NoItemCustomMoves = sParty_Dusty3 } }, [TRAINER_DUSTY_4] = @@ -696,7 +696,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty4 } + .party = {.NoItemCustomMoves = sParty_Dusty4 } }, [TRAINER_DUSTY_5] = @@ -710,7 +710,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Dusty5 } + .party = {.NoItemCustomMoves = sParty_Dusty5 } }, [TRAINER_GABBY_AND_TY_1] = @@ -724,7 +724,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy1 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy1 } }, [TRAINER_GABBY_AND_TY_2] = @@ -738,7 +738,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy2 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy2 } }, [TRAINER_GABBY_AND_TY_3] = @@ -752,7 +752,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy3 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy3 } }, [TRAINER_GABBY_AND_TY_4] = @@ -766,7 +766,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy4 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy4 } }, [TRAINER_GABBY_AND_TY_5] = @@ -780,7 +780,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy5 } + .party = {.NoItemDefaultMoves = sParty_GabbyAndTy5 } }, [TRAINER_GABBY_AND_TY_6] = @@ -794,7 +794,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_GabbyAndTy6 } + .party = {.NoItemCustomMoves = sParty_GabbyAndTy6 } }, [TRAINER_LOLA_1] = @@ -808,7 +808,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola1 } + .party = {.NoItemDefaultMoves = sParty_Lola1 } }, [TRAINER_AUSTINA] = @@ -822,7 +822,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Austina } + .party = {.NoItemDefaultMoves = sParty_Austina } }, [TRAINER_GWEN] = @@ -836,7 +836,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Gwen } + .party = {.NoItemDefaultMoves = sParty_Gwen } }, [TRAINER_LOLA_2] = @@ -850,7 +850,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola2 } + .party = {.NoItemDefaultMoves = sParty_Lola2 } }, [TRAINER_LOLA_3] = @@ -864,7 +864,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola3 } + .party = {.NoItemDefaultMoves = sParty_Lola3 } }, [TRAINER_LOLA_4] = @@ -878,7 +878,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola4 } + .party = {.NoItemDefaultMoves = sParty_Lola4 } }, [TRAINER_LOLA_5] = @@ -892,7 +892,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lola5 } + .party = {.NoItemDefaultMoves = sParty_Lola5 } }, [TRAINER_RICKY_1] = @@ -906,7 +906,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky1 } + .party = {.NoItemCustomMoves = sParty_Ricky1 } }, [TRAINER_SIMON] = @@ -920,7 +920,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Simon } + .party = {.NoItemDefaultMoves = sParty_Simon } }, [TRAINER_CHARLIE] = @@ -934,7 +934,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Charlie } + .party = {.NoItemDefaultMoves = sParty_Charlie } }, [TRAINER_RICKY_2] = @@ -948,7 +948,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky2 } + .party = {.NoItemCustomMoves = sParty_Ricky2 } }, [TRAINER_RICKY_3] = @@ -962,7 +962,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky3 } + .party = {.NoItemCustomMoves = sParty_Ricky3 } }, [TRAINER_RICKY_4] = @@ -976,7 +976,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky4 } + .party = {.NoItemCustomMoves = sParty_Ricky4 } }, [TRAINER_RICKY_5] = @@ -990,7 +990,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Ricky5 } + .party = {.NoItemCustomMoves = sParty_Ricky5 } }, [TRAINER_RANDALL] = @@ -1004,7 +1004,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Randall } + .party = {.ItemCustomMoves = sParty_Randall } }, [TRAINER_PARKER] = @@ -1018,7 +1018,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Parker } + .party = {.ItemCustomMoves = sParty_Parker } }, [TRAINER_GEORGE] = @@ -1032,7 +1032,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_George } + .party = {.ItemCustomMoves = sParty_George } }, [TRAINER_BERKE] = @@ -1046,7 +1046,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Berke } + .party = {.ItemCustomMoves = sParty_Berke } }, [TRAINER_BRAXTON] = @@ -1060,7 +1060,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Braxton } + .party = {.NoItemCustomMoves = sParty_Braxton } }, [TRAINER_VINCENT] = @@ -1074,7 +1074,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Vincent } + .party = {.NoItemDefaultMoves = sParty_Vincent } }, [TRAINER_LEROY] = @@ -1088,7 +1088,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Leroy } + .party = {.NoItemDefaultMoves = sParty_Leroy } }, [TRAINER_WILTON_1] = @@ -1102,7 +1102,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton1 } + .party = {.NoItemDefaultMoves = sParty_Wilton1 } }, [TRAINER_EDGAR] = @@ -1116,7 +1116,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edgar } + .party = {.NoItemDefaultMoves = sParty_Edgar } }, [TRAINER_ALBERT] = @@ -1130,7 +1130,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Albert } + .party = {.NoItemDefaultMoves = sParty_Albert } }, [TRAINER_SAMUEL] = @@ -1144,7 +1144,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Samuel } + .party = {.NoItemDefaultMoves = sParty_Samuel } }, [TRAINER_VITO] = @@ -1158,7 +1158,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Vito } + .party = {.NoItemDefaultMoves = sParty_Vito } }, [TRAINER_OWEN] = @@ -1172,7 +1172,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Owen } + .party = {.NoItemDefaultMoves = sParty_Owen } }, [TRAINER_WILTON_2] = @@ -1186,7 +1186,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton2 } + .party = {.NoItemDefaultMoves = sParty_Wilton2 } }, [TRAINER_WILTON_3] = @@ -1200,7 +1200,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton3 } + .party = {.NoItemDefaultMoves = sParty_Wilton3 } }, [TRAINER_WILTON_4] = @@ -1214,7 +1214,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton4 } + .party = {.NoItemDefaultMoves = sParty_Wilton4 } }, [TRAINER_WILTON_5] = @@ -1228,7 +1228,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wilton5 } + .party = {.NoItemDefaultMoves = sParty_Wilton5 } }, [TRAINER_WARREN] = @@ -1242,7 +1242,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Warren } + .party = {.NoItemDefaultMoves = sParty_Warren } }, [TRAINER_MARY] = @@ -1256,7 +1256,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Mary } + .party = {.ItemCustomMoves = sParty_Mary } }, [TRAINER_ALEXIA] = @@ -1270,7 +1270,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Alexia } + .party = {.ItemCustomMoves = sParty_Alexia } }, [TRAINER_JODY] = @@ -1284,7 +1284,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Jody } + .party = {.ItemCustomMoves = sParty_Jody } }, [TRAINER_WENDY] = @@ -1298,7 +1298,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Wendy } + .party = {.NoItemCustomMoves = sParty_Wendy } }, [TRAINER_KEIRA] = @@ -1312,7 +1312,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Keira } + .party = {.NoItemDefaultMoves = sParty_Keira } }, [TRAINER_BROOKE_1] = @@ -1326,7 +1326,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke1 } + .party = {.NoItemDefaultMoves = sParty_Brooke1 } }, [TRAINER_JENNIFER] = @@ -1340,7 +1340,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jennifer } + .party = {.NoItemDefaultMoves = sParty_Jennifer } }, [TRAINER_HOPE] = @@ -1354,7 +1354,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hope } + .party = {.NoItemDefaultMoves = sParty_Hope } }, [TRAINER_SHANNON] = @@ -1368,7 +1368,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Shannon } + .party = {.NoItemDefaultMoves = sParty_Shannon } }, [TRAINER_MICHELLE] = @@ -1382,7 +1382,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Michelle } + .party = {.NoItemDefaultMoves = sParty_Michelle } }, [TRAINER_CAROLINE] = @@ -1396,7 +1396,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Caroline } + .party = {.NoItemDefaultMoves = sParty_Caroline } }, [TRAINER_JULIE] = @@ -1410,7 +1410,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Julie } + .party = {.NoItemDefaultMoves = sParty_Julie } }, [TRAINER_BROOKE_2] = @@ -1424,7 +1424,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke2 } + .party = {.NoItemDefaultMoves = sParty_Brooke2 } }, [TRAINER_BROOKE_3] = @@ -1438,7 +1438,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke3 } + .party = {.NoItemDefaultMoves = sParty_Brooke3 } }, [TRAINER_BROOKE_4] = @@ -1452,7 +1452,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke4 } + .party = {.NoItemDefaultMoves = sParty_Brooke4 } }, [TRAINER_BROOKE_5] = @@ -1466,7 +1466,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brooke5 } + .party = {.NoItemDefaultMoves = sParty_Brooke5 } }, [TRAINER_PATRICIA] = @@ -1480,7 +1480,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Patricia } + .party = {.NoItemDefaultMoves = sParty_Patricia } }, [TRAINER_KINDRA] = @@ -1494,7 +1494,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kindra } + .party = {.NoItemDefaultMoves = sParty_Kindra } }, [TRAINER_TAMMY] = @@ -1508,7 +1508,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tammy } + .party = {.NoItemDefaultMoves = sParty_Tammy } }, [TRAINER_VALERIE_1] = @@ -1522,7 +1522,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie1 } + .party = {.NoItemDefaultMoves = sParty_Valerie1 } }, [TRAINER_TASHA] = @@ -1536,7 +1536,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tasha } + .party = {.NoItemDefaultMoves = sParty_Tasha } }, [TRAINER_VALERIE_2] = @@ -1550,7 +1550,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie2 } + .party = {.NoItemDefaultMoves = sParty_Valerie2 } }, [TRAINER_VALERIE_3] = @@ -1564,7 +1564,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie3 } + .party = {.NoItemDefaultMoves = sParty_Valerie3 } }, [TRAINER_VALERIE_4] = @@ -1578,7 +1578,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie4 } + .party = {.NoItemDefaultMoves = sParty_Valerie4 } }, [TRAINER_VALERIE_5] = @@ -1592,7 +1592,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Valerie5 } + .party = {.NoItemDefaultMoves = sParty_Valerie5 } }, [TRAINER_CINDY_1] = @@ -1606,7 +1606,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy1 } + .party = {.ItemDefaultMoves = sParty_Cindy1 } }, [TRAINER_DAPHNE] = @@ -1620,7 +1620,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Daphne } + .party = {.ItemCustomMoves = sParty_Daphne } }, [TRAINER_GRUNT_23] = @@ -1634,7 +1634,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt23 } + .party = {.NoItemDefaultMoves = sParty_Grunt23 } }, [TRAINER_CINDY_2] = @@ -1648,7 +1648,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Cindy2 } + .party = {.ItemCustomMoves = sParty_Cindy2 } }, [TRAINER_BRIANNA] = @@ -1662,7 +1662,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Brianna } + .party = {.ItemDefaultMoves = sParty_Brianna } }, [TRAINER_NAOMI] = @@ -1676,7 +1676,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Naomi } + .party = {.ItemDefaultMoves = sParty_Naomi } }, [TRAINER_CINDY_3] = @@ -1690,7 +1690,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy3 } + .party = {.ItemDefaultMoves = sParty_Cindy3 } }, [TRAINER_CINDY_4] = @@ -1704,7 +1704,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy4 } + .party = {.ItemDefaultMoves = sParty_Cindy4 } }, [TRAINER_CINDY_5] = @@ -1718,7 +1718,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Cindy5 } + .party = {.ItemDefaultMoves = sParty_Cindy5 } }, [TRAINER_CINDY_6] = @@ -1732,7 +1732,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Cindy6 } + .party = {.ItemCustomMoves = sParty_Cindy6 } }, [TRAINER_MELISSA] = @@ -1746,7 +1746,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Melissa } + .party = {.NoItemDefaultMoves = sParty_Melissa } }, [TRAINER_SHEILA] = @@ -1760,7 +1760,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sheila } + .party = {.NoItemDefaultMoves = sParty_Sheila } }, [TRAINER_SHIRLEY] = @@ -1774,7 +1774,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Shirley } + .party = {.NoItemDefaultMoves = sParty_Shirley } }, [TRAINER_JESSICA_1] = @@ -1788,7 +1788,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica1 } + .party = {.NoItemCustomMoves = sParty_Jessica1 } }, [TRAINER_CONNIE] = @@ -1802,7 +1802,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Connie } + .party = {.NoItemDefaultMoves = sParty_Connie } }, [TRAINER_BRIDGET] = @@ -1816,7 +1816,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Bridget } + .party = {.NoItemDefaultMoves = sParty_Bridget } }, [TRAINER_OLIVIA] = @@ -1830,7 +1830,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Olivia } + .party = {.NoItemCustomMoves = sParty_Olivia } }, [TRAINER_TIFFANY] = @@ -1844,7 +1844,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tiffany } + .party = {.NoItemDefaultMoves = sParty_Tiffany } }, [TRAINER_JESSICA_2] = @@ -1858,7 +1858,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica2 } + .party = {.NoItemCustomMoves = sParty_Jessica2 } }, [TRAINER_JESSICA_3] = @@ -1872,7 +1872,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica3 } + .party = {.NoItemCustomMoves = sParty_Jessica3 } }, [TRAINER_JESSICA_4] = @@ -1886,7 +1886,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica4 } + .party = {.NoItemCustomMoves = sParty_Jessica4 } }, [TRAINER_JESSICA_5] = @@ -1900,7 +1900,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Jessica5 } + .party = {.NoItemCustomMoves = sParty_Jessica5 } }, [TRAINER_WINSTON_1] = @@ -1914,7 +1914,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston1 } + .party = {.ItemDefaultMoves = sParty_Winston1 } }, [TRAINER_MOLLIE] = @@ -1928,7 +1928,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Mollie } + .party = {.NoItemDefaultMoves = sParty_Mollie } }, [TRAINER_GARRET] = @@ -1942,7 +1942,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Garret } + .party = {.ItemDefaultMoves = sParty_Garret } }, [TRAINER_WINSTON_2] = @@ -1956,7 +1956,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston2 } + .party = {.ItemDefaultMoves = sParty_Winston2 } }, [TRAINER_WINSTON_3] = @@ -1970,7 +1970,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston3 } + .party = {.ItemDefaultMoves = sParty_Winston3 } }, [TRAINER_WINSTON_4] = @@ -1984,7 +1984,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Winston4 } + .party = {.ItemDefaultMoves = sParty_Winston4 } }, [TRAINER_WINSTON_5] = @@ -1998,7 +1998,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Winston5 } + .party = {.ItemCustomMoves = sParty_Winston5 } }, [TRAINER_STEVE_1] = @@ -2012,7 +2012,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve1 } + .party = {.NoItemDefaultMoves = sParty_Steve1 } }, [TRAINER_THALIA_1] = @@ -2026,7 +2026,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia1 } + .party = {.NoItemDefaultMoves = sParty_Thalia1 } }, [TRAINER_MARK] = @@ -2040,7 +2040,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Mark } + .party = {.NoItemDefaultMoves = sParty_Mark } }, [TRAINER_GRUNT_24] = @@ -2054,7 +2054,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt24 } + .party = {.NoItemDefaultMoves = sParty_Grunt24 } }, [TRAINER_STEVE_2] = @@ -2068,7 +2068,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve2 } + .party = {.NoItemDefaultMoves = sParty_Steve2 } }, [TRAINER_STEVE_3] = @@ -2082,7 +2082,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve3 } + .party = {.NoItemDefaultMoves = sParty_Steve3 } }, [TRAINER_STEVE_4] = @@ -2096,7 +2096,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve4 } + .party = {.NoItemDefaultMoves = sParty_Steve4 } }, [TRAINER_STEVE_5] = @@ -2110,7 +2110,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Steve5 } + .party = {.NoItemDefaultMoves = sParty_Steve5 } }, [TRAINER_LUIS] = @@ -2124,7 +2124,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Luis } + .party = {.NoItemDefaultMoves = sParty_Luis } }, [TRAINER_DOMINIK] = @@ -2138,7 +2138,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dominik } + .party = {.NoItemDefaultMoves = sParty_Dominik } }, [TRAINER_DOUGLAS] = @@ -2152,7 +2152,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Douglas } + .party = {.NoItemDefaultMoves = sParty_Douglas } }, [TRAINER_DARRIN] = @@ -2166,7 +2166,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Darrin } + .party = {.NoItemDefaultMoves = sParty_Darrin } }, [TRAINER_TONY_1] = @@ -2180,7 +2180,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony1 } + .party = {.NoItemDefaultMoves = sParty_Tony1 } }, [TRAINER_JEROME] = @@ -2194,7 +2194,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerome } + .party = {.NoItemDefaultMoves = sParty_Jerome } }, [TRAINER_MATTHEW] = @@ -2208,7 +2208,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Matthew } + .party = {.NoItemDefaultMoves = sParty_Matthew } }, [TRAINER_DAVID] = @@ -2222,7 +2222,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_David } + .party = {.NoItemDefaultMoves = sParty_David } }, [TRAINER_SPENCER] = @@ -2236,7 +2236,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Spencer } + .party = {.NoItemDefaultMoves = sParty_Spencer } }, [TRAINER_ROLAND] = @@ -2250,7 +2250,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Roland } + .party = {.NoItemDefaultMoves = sParty_Roland } }, [TRAINER_NOLEN] = @@ -2264,7 +2264,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nolen } + .party = {.NoItemDefaultMoves = sParty_Nolen } }, [TRAINER_STAN] = @@ -2278,7 +2278,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Stan } + .party = {.NoItemDefaultMoves = sParty_Stan } }, [TRAINER_BARRY] = @@ -2292,7 +2292,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Barry } + .party = {.NoItemDefaultMoves = sParty_Barry } }, [TRAINER_DEAN] = @@ -2306,7 +2306,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dean } + .party = {.NoItemDefaultMoves = sParty_Dean } }, [TRAINER_RODNEY] = @@ -2320,7 +2320,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rodney } + .party = {.NoItemDefaultMoves = sParty_Rodney } }, [TRAINER_RICHARD] = @@ -2334,7 +2334,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Richard } + .party = {.NoItemDefaultMoves = sParty_Richard } }, [TRAINER_HERMAN] = @@ -2348,7 +2348,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Herman } + .party = {.NoItemDefaultMoves = sParty_Herman } }, [TRAINER_SANTIAGO] = @@ -2362,7 +2362,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Santiago } + .party = {.NoItemDefaultMoves = sParty_Santiago } }, [TRAINER_GILBERT] = @@ -2376,7 +2376,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Gilbert } + .party = {.NoItemDefaultMoves = sParty_Gilbert } }, [TRAINER_FRANKLIN] = @@ -2390,7 +2390,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Franklin } + .party = {.NoItemDefaultMoves = sParty_Franklin } }, [TRAINER_KEVIN] = @@ -2404,7 +2404,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kevin } + .party = {.NoItemDefaultMoves = sParty_Kevin } }, [TRAINER_JACK] = @@ -2418,7 +2418,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jack } + .party = {.NoItemDefaultMoves = sParty_Jack } }, [TRAINER_DUDLEY] = @@ -2432,7 +2432,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dudley } + .party = {.NoItemDefaultMoves = sParty_Dudley } }, [TRAINER_CHAD] = @@ -2446,7 +2446,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chad } + .party = {.NoItemDefaultMoves = sParty_Chad } }, [TRAINER_TONY_2] = @@ -2460,7 +2460,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony2 } + .party = {.NoItemDefaultMoves = sParty_Tony2 } }, [TRAINER_TONY_3] = @@ -2474,7 +2474,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony3 } + .party = {.NoItemDefaultMoves = sParty_Tony3 } }, [TRAINER_TONY_4] = @@ -2488,7 +2488,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony4 } + .party = {.NoItemDefaultMoves = sParty_Tony4 } }, [TRAINER_TONY_5] = @@ -2502,7 +2502,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tony5 } + .party = {.NoItemDefaultMoves = sParty_Tony5 } }, [TRAINER_TAKAO] = @@ -2516,7 +2516,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Takao } + .party = {.NoItemDefaultMoves = sParty_Takao } }, [TRAINER_HITOSHI] = @@ -2530,7 +2530,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hitoshi } + .party = {.NoItemDefaultMoves = sParty_Hitoshi } }, [TRAINER_KIYO] = @@ -2544,7 +2544,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kiyo } + .party = {.NoItemDefaultMoves = sParty_Kiyo } }, [TRAINER_KOICHI] = @@ -2558,7 +2558,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Koichi } + .party = {.NoItemDefaultMoves = sParty_Koichi } }, [TRAINER_NOB_1] = @@ -2572,7 +2572,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob1 } + .party = {.NoItemDefaultMoves = sParty_Nob1 } }, [TRAINER_NOB_2] = @@ -2586,7 +2586,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob2 } + .party = {.NoItemDefaultMoves = sParty_Nob2 } }, [TRAINER_NOB_3] = @@ -2600,7 +2600,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob3 } + .party = {.NoItemDefaultMoves = sParty_Nob3 } }, [TRAINER_NOB_4] = @@ -2614,7 +2614,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Nob4 } + .party = {.NoItemDefaultMoves = sParty_Nob4 } }, [TRAINER_NOB_5] = @@ -2628,7 +2628,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.ItemDefaultMoves = gTrainerParty_Nob5 } + .party = {.ItemDefaultMoves = sParty_Nob5 } }, [TRAINER_YUJI] = @@ -2642,7 +2642,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Yuji } + .party = {.NoItemDefaultMoves = sParty_Yuji } }, [TRAINER_DAISUKE] = @@ -2656,7 +2656,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Daisuke } + .party = {.NoItemDefaultMoves = sParty_Daisuke } }, [TRAINER_ATSUSHI] = @@ -2670,7 +2670,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Atsushi } + .party = {.NoItemDefaultMoves = sParty_Atsushi } }, [TRAINER_KIRK] = @@ -2684,7 +2684,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Kirk } + .party = {.NoItemCustomMoves = sParty_Kirk } }, [TRAINER_GRUNT_25] = @@ -2698,7 +2698,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt25 } + .party = {.NoItemDefaultMoves = sParty_Grunt25 } }, [TRAINER_GRUNT_26] = @@ -2712,7 +2712,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt26 } + .party = {.NoItemDefaultMoves = sParty_Grunt26 } }, [TRAINER_SHAWN] = @@ -2726,7 +2726,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shawn } + .party = {.NoItemDefaultMoves = sParty_Shawn } }, [TRAINER_FERNANDO_1] = @@ -2740,7 +2740,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando1 } + .party = {.NoItemDefaultMoves = sParty_Fernando1 } }, [TRAINER_DALTON_1] = @@ -2754,7 +2754,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton1 } + .party = {.NoItemDefaultMoves = sParty_Dalton1 } }, [TRAINER_DALTON_2] = @@ -2768,7 +2768,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton2 } + .party = {.NoItemDefaultMoves = sParty_Dalton2 } }, [TRAINER_DALTON_3] = @@ -2782,7 +2782,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton3 } + .party = {.NoItemDefaultMoves = sParty_Dalton3 } }, [TRAINER_DALTON_4] = @@ -2796,7 +2796,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton4 } + .party = {.NoItemDefaultMoves = sParty_Dalton4 } }, [TRAINER_DALTON_5] = @@ -2810,7 +2810,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dalton5 } + .party = {.NoItemDefaultMoves = sParty_Dalton5 } }, [TRAINER_COLE] = @@ -2824,7 +2824,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cole } + .party = {.NoItemDefaultMoves = sParty_Cole } }, [TRAINER_JEFF] = @@ -2838,7 +2838,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeff } + .party = {.NoItemDefaultMoves = sParty_Jeff } }, [TRAINER_AXLE] = @@ -2852,7 +2852,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Axle } + .party = {.NoItemDefaultMoves = sParty_Axle } }, [TRAINER_JACE] = @@ -2866,7 +2866,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jace } + .party = {.NoItemDefaultMoves = sParty_Jace } }, [TRAINER_KEEGAN] = @@ -2880,7 +2880,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Keegan } + .party = {.NoItemDefaultMoves = sParty_Keegan } }, [TRAINER_BERNIE_1] = @@ -2894,7 +2894,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie1 } + .party = {.NoItemDefaultMoves = sParty_Bernie1 } }, [TRAINER_BERNIE_2] = @@ -2908,7 +2908,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie2 } + .party = {.NoItemDefaultMoves = sParty_Bernie2 } }, [TRAINER_BERNIE_3] = @@ -2922,7 +2922,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie3 } + .party = {.NoItemDefaultMoves = sParty_Bernie3 } }, [TRAINER_BERNIE_4] = @@ -2936,7 +2936,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie4 } + .party = {.NoItemDefaultMoves = sParty_Bernie4 } }, [TRAINER_BERNIE_5] = @@ -2950,7 +2950,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bernie5 } + .party = {.NoItemDefaultMoves = sParty_Bernie5 } }, [TRAINER_DREW] = @@ -2964,7 +2964,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Drew } + .party = {.NoItemCustomMoves = sParty_Drew } }, [TRAINER_BEAU] = @@ -2978,7 +2978,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Beau } + .party = {.NoItemCustomMoves = sParty_Beau } }, [TRAINER_LARRY] = @@ -2992,7 +2992,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Larry } + .party = {.NoItemDefaultMoves = sParty_Larry } }, [TRAINER_SHANE] = @@ -3006,7 +3006,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shane } + .party = {.NoItemDefaultMoves = sParty_Shane } }, [TRAINER_JUSTIN] = @@ -3020,7 +3020,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Justin } + .party = {.NoItemDefaultMoves = sParty_Justin } }, [TRAINER_ETHAN_1] = @@ -3034,7 +3034,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan1 } + .party = {.NoItemDefaultMoves = sParty_Ethan1 } }, [TRAINER_AUTUMN] = @@ -3048,7 +3048,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Autumn } + .party = {.NoItemDefaultMoves = sParty_Autumn } }, [TRAINER_TRAVIS] = @@ -3062,7 +3062,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Travis } + .party = {.NoItemDefaultMoves = sParty_Travis } }, [TRAINER_ETHAN_2] = @@ -3076,7 +3076,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan2 } + .party = {.NoItemDefaultMoves = sParty_Ethan2 } }, [TRAINER_ETHAN_3] = @@ -3090,7 +3090,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan3 } + .party = {.NoItemDefaultMoves = sParty_Ethan3 } }, [TRAINER_ETHAN_4] = @@ -3104,7 +3104,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan4 } + .party = {.NoItemDefaultMoves = sParty_Ethan4 } }, [TRAINER_ETHAN_5] = @@ -3118,7 +3118,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ethan5 } + .party = {.NoItemDefaultMoves = sParty_Ethan5 } }, [TRAINER_BRENT] = @@ -3132,7 +3132,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brent } + .party = {.NoItemDefaultMoves = sParty_Brent } }, [TRAINER_DONALD] = @@ -3146,7 +3146,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Donald } + .party = {.NoItemDefaultMoves = sParty_Donald } }, [TRAINER_TAYLOR] = @@ -3160,7 +3160,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Taylor } + .party = {.NoItemDefaultMoves = sParty_Taylor } }, [TRAINER_JEFFREY_1] = @@ -3174,7 +3174,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey1 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey1 } }, [TRAINER_DEREK] = @@ -3188,7 +3188,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Derek } + .party = {.NoItemDefaultMoves = sParty_Derek } }, [TRAINER_JEFFREY_2] = @@ -3202,7 +3202,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey2 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey2 } }, [TRAINER_JEFFREY_3] = @@ -3216,7 +3216,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey3 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey3 } }, [TRAINER_JEFFREY_4] = @@ -3230,7 +3230,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey4 } + .party = {.NoItemDefaultMoves = sParty_Jeffrey4 } }, [TRAINER_JEFFREY_5] = @@ -3244,7 +3244,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 5, - .party = {.ItemDefaultMoves = gTrainerParty_Jeffrey5 } + .party = {.ItemDefaultMoves = sParty_Jeffrey5 } }, [TRAINER_EDWARD] = @@ -3258,7 +3258,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Edward } + .party = {.NoItemCustomMoves = sParty_Edward } }, [TRAINER_PRESTON] = @@ -3272,7 +3272,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Preston } + .party = {.NoItemDefaultMoves = sParty_Preston } }, [TRAINER_VIRGIL] = @@ -3286,7 +3286,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Virgil } + .party = {.NoItemDefaultMoves = sParty_Virgil } }, [TRAINER_BLAKE] = @@ -3300,7 +3300,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Blake } + .party = {.NoItemDefaultMoves = sParty_Blake } }, [TRAINER_WILLIAM] = @@ -3314,7 +3314,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_William } + .party = {.NoItemDefaultMoves = sParty_William } }, [TRAINER_JOSHUA] = @@ -3328,7 +3328,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Joshua } + .party = {.NoItemDefaultMoves = sParty_Joshua } }, [TRAINER_CAMERON_1] = @@ -3342,7 +3342,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron1 } + .party = {.NoItemDefaultMoves = sParty_Cameron1 } }, [TRAINER_CAMERON_2] = @@ -3356,7 +3356,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron2 } + .party = {.NoItemDefaultMoves = sParty_Cameron2 } }, [TRAINER_CAMERON_3] = @@ -3370,7 +3370,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron3 } + .party = {.NoItemDefaultMoves = sParty_Cameron3 } }, [TRAINER_CAMERON_4] = @@ -3384,7 +3384,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron4 } + .party = {.NoItemDefaultMoves = sParty_Cameron4 } }, [TRAINER_CAMERON_5] = @@ -3398,7 +3398,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cameron5 } + .party = {.NoItemDefaultMoves = sParty_Cameron5 } }, [TRAINER_JACLYN] = @@ -3412,7 +3412,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Jaclyn } + .party = {.NoItemCustomMoves = sParty_Jaclyn } }, [TRAINER_HANNAH] = @@ -3426,7 +3426,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hannah } + .party = {.NoItemDefaultMoves = sParty_Hannah } }, [TRAINER_SAMANTHA] = @@ -3440,7 +3440,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Samantha } + .party = {.NoItemDefaultMoves = sParty_Samantha } }, [TRAINER_MAURA] = @@ -3454,7 +3454,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maura } + .party = {.NoItemDefaultMoves = sParty_Maura } }, [TRAINER_KAYLA] = @@ -3468,7 +3468,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Kayla } + .party = {.NoItemDefaultMoves = sParty_Kayla } }, [TRAINER_ALEXIS] = @@ -3482,7 +3482,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alexis } + .party = {.NoItemDefaultMoves = sParty_Alexis } }, [TRAINER_JACKI_1] = @@ -3496,7 +3496,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki1 } + .party = {.NoItemDefaultMoves = sParty_Jacki1 } }, [TRAINER_JACKI_2] = @@ -3510,7 +3510,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki2 } + .party = {.NoItemDefaultMoves = sParty_Jacki2 } }, [TRAINER_JACKI_3] = @@ -3524,7 +3524,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki3 } + .party = {.NoItemDefaultMoves = sParty_Jacki3 } }, [TRAINER_JACKI_4] = @@ -3538,7 +3538,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki4 } + .party = {.NoItemDefaultMoves = sParty_Jacki4 } }, [TRAINER_JACKI_5] = @@ -3552,7 +3552,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacki5 } + .party = {.NoItemDefaultMoves = sParty_Jacki5 } }, [TRAINER_WALTER_1] = @@ -3566,7 +3566,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Walter1 } + .party = {.NoItemDefaultMoves = sParty_Walter1 } }, [TRAINER_MICAH] = @@ -3580,7 +3580,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Micah } + .party = {.NoItemDefaultMoves = sParty_Micah } }, [TRAINER_THOMAS] = @@ -3594,7 +3594,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Thomas } + .party = {.NoItemDefaultMoves = sParty_Thomas } }, [TRAINER_WALTER_2] = @@ -3608,7 +3608,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Walter2 } + .party = {.NoItemDefaultMoves = sParty_Walter2 } }, [TRAINER_WALTER_3] = @@ -3622,7 +3622,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Walter3 } + .party = {.NoItemCustomMoves = sParty_Walter3 } }, [TRAINER_WALTER_4] = @@ -3636,7 +3636,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Walter4 } + .party = {.NoItemCustomMoves = sParty_Walter4 } }, [TRAINER_WALTER_5] = @@ -3650,7 +3650,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Walter5 } + .party = {.NoItemCustomMoves = sParty_Walter5 } }, [TRAINER_SIDNEY] = @@ -3664,7 +3664,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Sidney } + .party = {.ItemCustomMoves = sParty_Sidney } }, [TRAINER_PHOEBE] = @@ -3678,7 +3678,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Phoebe } + .party = {.ItemCustomMoves = sParty_Phoebe } }, [TRAINER_GLACIA] = @@ -3692,7 +3692,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Glacia } + .party = {.ItemCustomMoves = sParty_Glacia } }, [TRAINER_DRAKE] = @@ -3706,7 +3706,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Drake } + .party = {.ItemCustomMoves = sParty_Drake } }, [TRAINER_ROXANNE_1] = @@ -3720,7 +3720,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne1 } + .party = {.ItemCustomMoves = sParty_Roxanne1 } }, [TRAINER_BRAWLY_1] = @@ -3734,7 +3734,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.ItemCustomMoves = gTrainerParty_Brawly1 } + .party = {.ItemCustomMoves = sParty_Brawly1 } }, [TRAINER_WATTSON_1] = @@ -3748,7 +3748,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Wattson1 } + .party = {.ItemCustomMoves = sParty_Wattson1 } }, [TRAINER_FLANNERY_1] = @@ -3762,7 +3762,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Flannery1 } + .party = {.ItemCustomMoves = sParty_Flannery1 } }, [TRAINER_NORMAN_1] = @@ -3776,7 +3776,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Norman1 } + .party = {.ItemCustomMoves = sParty_Norman1 } }, [TRAINER_WINONA_1] = @@ -3790,7 +3790,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Winona1 } + .party = {.ItemCustomMoves = sParty_Winona1 } }, [TRAINER_TATE_AND_LIZA_1] = @@ -3804,7 +3804,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza1 } + .party = {.ItemCustomMoves = sParty_TateAndLiza1 } }, [TRAINER_JUAN_1] = @@ -3818,7 +3818,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan1 } + .party = {.ItemCustomMoves = sParty_Juan1 } }, [TRAINER_JERRY_1] = @@ -3832,7 +3832,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry1 } + .party = {.NoItemDefaultMoves = sParty_Jerry1 } }, [TRAINER_TED] = @@ -3846,7 +3846,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Ted } + .party = {.NoItemDefaultMoves = sParty_Ted } }, [TRAINER_PAUL] = @@ -3860,7 +3860,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Paul } + .party = {.NoItemDefaultMoves = sParty_Paul } }, [TRAINER_JERRY_2] = @@ -3874,7 +3874,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry2 } + .party = {.NoItemDefaultMoves = sParty_Jerry2 } }, [TRAINER_JERRY_3] = @@ -3888,7 +3888,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry3 } + .party = {.NoItemDefaultMoves = sParty_Jerry3 } }, [TRAINER_JERRY_4] = @@ -3902,7 +3902,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry4 } + .party = {.NoItemDefaultMoves = sParty_Jerry4 } }, [TRAINER_JERRY_5] = @@ -3916,7 +3916,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jerry5 } + .party = {.NoItemDefaultMoves = sParty_Jerry5 } }, [TRAINER_KAREN_1] = @@ -3930,7 +3930,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen1 } + .party = {.NoItemDefaultMoves = sParty_Karen1 } }, [TRAINER_GEORGIA] = @@ -3944,7 +3944,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Georgia } + .party = {.NoItemDefaultMoves = sParty_Georgia } }, [TRAINER_KAREN_2] = @@ -3958,7 +3958,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen2 } + .party = {.NoItemDefaultMoves = sParty_Karen2 } }, [TRAINER_KAREN_3] = @@ -3972,7 +3972,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen3 } + .party = {.NoItemDefaultMoves = sParty_Karen3 } }, [TRAINER_KAREN_4] = @@ -3986,7 +3986,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen4 } + .party = {.NoItemDefaultMoves = sParty_Karen4 } }, [TRAINER_KAREN_5] = @@ -4000,7 +4000,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Karen5 } + .party = {.NoItemDefaultMoves = sParty_Karen5 } }, [TRAINER_KATE_AND_JOY] = @@ -4014,7 +4014,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_KateAndJoy } + .party = {.NoItemCustomMoves = sParty_KateAndJoy } }, [TRAINER_ANNA_AND_MEG_1] = @@ -4028,7 +4028,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg1 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg1 } }, [TRAINER_ANNA_AND_MEG_2] = @@ -4042,7 +4042,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg2 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg2 } }, [TRAINER_ANNA_AND_MEG_3] = @@ -4056,7 +4056,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg3 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg3 } }, [TRAINER_ANNA_AND_MEG_4] = @@ -4070,7 +4070,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg4 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg4 } }, [TRAINER_ANNA_AND_MEG_5] = @@ -4084,7 +4084,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg5 } + .party = {.NoItemCustomMoves = sParty_AnnaAndMeg5 } }, [TRAINER_VICTOR] = @@ -4098,7 +4098,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Victor } + .party = {.ItemDefaultMoves = sParty_Victor } }, [TRAINER_MIGUEL_1] = @@ -4112,7 +4112,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel1 } + .party = {.ItemDefaultMoves = sParty_Miguel1 } }, [TRAINER_COLTON] = @@ -4126,7 +4126,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Colton } + .party = {.ItemCustomMoves = sParty_Colton } }, [TRAINER_MIGUEL_2] = @@ -4140,7 +4140,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel2 } + .party = {.ItemDefaultMoves = sParty_Miguel2 } }, [TRAINER_MIGUEL_3] = @@ -4154,7 +4154,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel3 } + .party = {.ItemDefaultMoves = sParty_Miguel3 } }, [TRAINER_MIGUEL_4] = @@ -4168,7 +4168,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel4 } + .party = {.ItemDefaultMoves = sParty_Miguel4 } }, [TRAINER_MIGUEL_5] = @@ -4182,7 +4182,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Miguel5 } + .party = {.ItemDefaultMoves = sParty_Miguel5 } }, [TRAINER_VICTORIA] = @@ -4196,7 +4196,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Victoria } + .party = {.ItemDefaultMoves = sParty_Victoria } }, [TRAINER_VANESSA] = @@ -4210,7 +4210,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.ItemDefaultMoves = gTrainerParty_Vanessa } + .party = {.ItemDefaultMoves = sParty_Vanessa } }, [TRAINER_BETHANY] = @@ -4224,7 +4224,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.ItemDefaultMoves = gTrainerParty_Bethany } + .party = {.ItemDefaultMoves = sParty_Bethany } }, [TRAINER_ISABEL_1] = @@ -4238,7 +4238,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel1 } + .party = {.ItemDefaultMoves = sParty_Isabel1 } }, [TRAINER_ISABEL_2] = @@ -4252,7 +4252,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel2 } + .party = {.ItemDefaultMoves = sParty_Isabel2 } }, [TRAINER_ISABEL_3] = @@ -4266,7 +4266,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel3 } + .party = {.ItemDefaultMoves = sParty_Isabel3 } }, [TRAINER_ISABEL_4] = @@ -4280,7 +4280,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel4 } + .party = {.ItemDefaultMoves = sParty_Isabel4 } }, [TRAINER_ISABEL_5] = @@ -4294,7 +4294,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Isabel5 } + .party = {.ItemDefaultMoves = sParty_Isabel5 } }, [TRAINER_TIMOTHY_1] = @@ -4308,7 +4308,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Timothy1 } + .party = {.NoItemDefaultMoves = sParty_Timothy1 } }, [TRAINER_TIMOTHY_2] = @@ -4322,7 +4322,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy2 } + .party = {.NoItemCustomMoves = sParty_Timothy2 } }, [TRAINER_TIMOTHY_3] = @@ -4336,7 +4336,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy3 } + .party = {.NoItemCustomMoves = sParty_Timothy3 } }, [TRAINER_TIMOTHY_4] = @@ -4350,7 +4350,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy4 } + .party = {.NoItemCustomMoves = sParty_Timothy4 } }, [TRAINER_TIMOTHY_5] = @@ -4364,7 +4364,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Timothy5 } + .party = {.NoItemCustomMoves = sParty_Timothy5 } }, [TRAINER_VICKY] = @@ -4378,7 +4378,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Vicky } + .party = {.NoItemCustomMoves = sParty_Vicky } }, [TRAINER_SHELBY_1] = @@ -4392,7 +4392,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby1 } + .party = {.NoItemDefaultMoves = sParty_Shelby1 } }, [TRAINER_SHELBY_2] = @@ -4406,7 +4406,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby2 } + .party = {.NoItemDefaultMoves = sParty_Shelby2 } }, [TRAINER_SHELBY_3] = @@ -4420,7 +4420,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby3 } + .party = {.NoItemDefaultMoves = sParty_Shelby3 } }, [TRAINER_SHELBY_4] = @@ -4434,7 +4434,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby4 } + .party = {.NoItemDefaultMoves = sParty_Shelby4 } }, [TRAINER_SHELBY_5] = @@ -4448,7 +4448,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shelby5 } + .party = {.NoItemDefaultMoves = sParty_Shelby5 } }, [TRAINER_CALVIN_1] = @@ -4462,7 +4462,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin1 } + .party = {.NoItemDefaultMoves = sParty_Calvin1 } }, [TRAINER_BILLY] = @@ -4476,7 +4476,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Billy } + .party = {.NoItemDefaultMoves = sParty_Billy } }, [TRAINER_JOSH] = @@ -4490,7 +4490,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Josh } + .party = {.NoItemCustomMoves = sParty_Josh } }, [TRAINER_TOMMY] = @@ -4504,7 +4504,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tommy } + .party = {.NoItemDefaultMoves = sParty_Tommy } }, [TRAINER_JOEY] = @@ -4518,7 +4518,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Joey } + .party = {.NoItemDefaultMoves = sParty_Joey } }, [TRAINER_BEN] = @@ -4532,7 +4532,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Ben } + .party = {.NoItemCustomMoves = sParty_Ben } }, [TRAINER_QUINCY] = @@ -4546,7 +4546,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Quincy } + .party = {.NoItemCustomMoves = sParty_Quincy } }, [TRAINER_KATELYNN] = @@ -4560,7 +4560,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Katelynn } + .party = {.NoItemCustomMoves = sParty_Katelynn } }, [TRAINER_JAYLEN] = @@ -4574,7 +4574,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jaylen } + .party = {.NoItemDefaultMoves = sParty_Jaylen } }, [TRAINER_DILLON] = @@ -4588,7 +4588,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dillon } + .party = {.NoItemDefaultMoves = sParty_Dillon } }, [TRAINER_CALVIN_2] = @@ -4602,7 +4602,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin2 } + .party = {.NoItemDefaultMoves = sParty_Calvin2 } }, [TRAINER_CALVIN_3] = @@ -4616,7 +4616,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin3 } + .party = {.NoItemDefaultMoves = sParty_Calvin3 } }, [TRAINER_CALVIN_4] = @@ -4630,7 +4630,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin4 } + .party = {.NoItemDefaultMoves = sParty_Calvin4 } }, [TRAINER_CALVIN_5] = @@ -4644,7 +4644,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Calvin5 } + .party = {.NoItemDefaultMoves = sParty_Calvin5 } }, [TRAINER_EDDIE] = @@ -4658,7 +4658,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Eddie } + .party = {.NoItemDefaultMoves = sParty_Eddie } }, [TRAINER_ALLEN] = @@ -4672,7 +4672,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Allen } + .party = {.NoItemDefaultMoves = sParty_Allen } }, [TRAINER_TIMMY] = @@ -4686,7 +4686,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Timmy } + .party = {.NoItemDefaultMoves = sParty_Timmy } }, [TRAINER_WALLACE] = @@ -4700,7 +4700,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Wallace } + .party = {.ItemCustomMoves = sParty_Wallace } }, [TRAINER_ANDREW] = @@ -4714,7 +4714,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andrew } + .party = {.NoItemDefaultMoves = sParty_Andrew } }, [TRAINER_IVAN] = @@ -4728,7 +4728,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ivan } + .party = {.NoItemDefaultMoves = sParty_Ivan } }, [TRAINER_CLAUDE] = @@ -4742,7 +4742,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Claude } + .party = {.NoItemDefaultMoves = sParty_Claude } }, [TRAINER_ELLIOT_1] = @@ -4756,7 +4756,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot1 } + .party = {.NoItemDefaultMoves = sParty_Elliot1 } }, [TRAINER_NED] = @@ -4770,7 +4770,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Ned } + .party = {.NoItemDefaultMoves = sParty_Ned } }, [TRAINER_DALE] = @@ -4784,7 +4784,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Dale } + .party = {.NoItemDefaultMoves = sParty_Dale } }, [TRAINER_NOLAN] = @@ -4798,7 +4798,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nolan } + .party = {.NoItemDefaultMoves = sParty_Nolan } }, [TRAINER_BARNY] = @@ -4812,7 +4812,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Barny } + .party = {.NoItemDefaultMoves = sParty_Barny } }, [TRAINER_WADE] = @@ -4826,7 +4826,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Wade } + .party = {.NoItemDefaultMoves = sParty_Wade } }, [TRAINER_CARTER] = @@ -4840,7 +4840,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Carter } + .party = {.NoItemDefaultMoves = sParty_Carter } }, [TRAINER_ELLIOT_2] = @@ -4854,7 +4854,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot2 } + .party = {.NoItemDefaultMoves = sParty_Elliot2 } }, [TRAINER_ELLIOT_3] = @@ -4868,7 +4868,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot3 } + .party = {.NoItemDefaultMoves = sParty_Elliot3 } }, [TRAINER_ELLIOT_4] = @@ -4882,7 +4882,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot4 } + .party = {.NoItemDefaultMoves = sParty_Elliot4 } }, [TRAINER_ELLIOT_5] = @@ -4896,7 +4896,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Elliot5 } + .party = {.NoItemDefaultMoves = sParty_Elliot5 } }, [TRAINER_RONALD] = @@ -4910,7 +4910,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Ronald } + .party = {.NoItemDefaultMoves = sParty_Ronald } }, [TRAINER_JACOB] = @@ -4924,7 +4924,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jacob } + .party = {.NoItemDefaultMoves = sParty_Jacob } }, [TRAINER_ANTHONY] = @@ -4938,7 +4938,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Anthony } + .party = {.NoItemDefaultMoves = sParty_Anthony } }, [TRAINER_BENJAMIN_1] = @@ -4952,7 +4952,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin1 } + .party = {.NoItemDefaultMoves = sParty_Benjamin1 } }, [TRAINER_BENJAMIN_2] = @@ -4966,7 +4966,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin2 } + .party = {.NoItemDefaultMoves = sParty_Benjamin2 } }, [TRAINER_BENJAMIN_3] = @@ -4980,7 +4980,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin3 } + .party = {.NoItemDefaultMoves = sParty_Benjamin3 } }, [TRAINER_BENJAMIN_4] = @@ -4994,7 +4994,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin4 } + .party = {.NoItemDefaultMoves = sParty_Benjamin4 } }, [TRAINER_BENJAMIN_5] = @@ -5008,7 +5008,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin5 } + .party = {.NoItemDefaultMoves = sParty_Benjamin5 } }, [TRAINER_ABIGAIL_1] = @@ -5022,7 +5022,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail1 } + .party = {.NoItemDefaultMoves = sParty_Abigail1 } }, [TRAINER_JASMINE] = @@ -5036,7 +5036,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jasmine } + .party = {.NoItemDefaultMoves = sParty_Jasmine } }, [TRAINER_ABIGAIL_2] = @@ -5050,7 +5050,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail2 } + .party = {.NoItemDefaultMoves = sParty_Abigail2 } }, [TRAINER_ABIGAIL_3] = @@ -5064,7 +5064,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail3 } + .party = {.NoItemDefaultMoves = sParty_Abigail3 } }, [TRAINER_ABIGAIL_4] = @@ -5078,7 +5078,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail4 } + .party = {.NoItemDefaultMoves = sParty_Abigail4 } }, [TRAINER_ABIGAIL_5] = @@ -5092,7 +5092,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Abigail5 } + .party = {.NoItemDefaultMoves = sParty_Abigail5 } }, [TRAINER_DYLAN_1] = @@ -5106,7 +5106,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan1 } + .party = {.NoItemDefaultMoves = sParty_Dylan1 } }, [TRAINER_DYLAN_2] = @@ -5120,7 +5120,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan2 } + .party = {.NoItemDefaultMoves = sParty_Dylan2 } }, [TRAINER_DYLAN_3] = @@ -5134,7 +5134,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan3 } + .party = {.NoItemDefaultMoves = sParty_Dylan3 } }, [TRAINER_DYLAN_4] = @@ -5148,7 +5148,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan4 } + .party = {.NoItemDefaultMoves = sParty_Dylan4 } }, [TRAINER_DYLAN_5] = @@ -5162,7 +5162,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dylan5 } + .party = {.NoItemDefaultMoves = sParty_Dylan5 } }, [TRAINER_MARIA_1] = @@ -5176,7 +5176,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria1 } + .party = {.NoItemDefaultMoves = sParty_Maria1 } }, [TRAINER_MARIA_2] = @@ -5190,7 +5190,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria2 } + .party = {.NoItemDefaultMoves = sParty_Maria2 } }, [TRAINER_MARIA_3] = @@ -5204,7 +5204,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria3 } + .party = {.NoItemDefaultMoves = sParty_Maria3 } }, [TRAINER_MARIA_4] = @@ -5218,7 +5218,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria4 } + .party = {.NoItemDefaultMoves = sParty_Maria4 } }, [TRAINER_MARIA_5] = @@ -5232,7 +5232,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Maria5 } + .party = {.NoItemDefaultMoves = sParty_Maria5 } }, [TRAINER_CAMDEN] = @@ -5246,7 +5246,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Camden } + .party = {.NoItemDefaultMoves = sParty_Camden } }, [TRAINER_DEMETRIUS] = @@ -5260,7 +5260,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Demetrius } + .party = {.NoItemDefaultMoves = sParty_Demetrius } }, [TRAINER_ISAIAH_1] = @@ -5274,7 +5274,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah1 } + .party = {.NoItemDefaultMoves = sParty_Isaiah1 } }, [TRAINER_PABLO_1] = @@ -5288,7 +5288,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo1 } + .party = {.NoItemDefaultMoves = sParty_Pablo1 } }, [TRAINER_CHASE] = @@ -5302,7 +5302,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chase } + .party = {.NoItemDefaultMoves = sParty_Chase } }, [TRAINER_ISAIAH_2] = @@ -5316,7 +5316,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah2 } + .party = {.NoItemDefaultMoves = sParty_Isaiah2 } }, [TRAINER_ISAIAH_3] = @@ -5330,7 +5330,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah3 } + .party = {.NoItemDefaultMoves = sParty_Isaiah3 } }, [TRAINER_ISAIAH_4] = @@ -5344,7 +5344,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah4 } + .party = {.NoItemDefaultMoves = sParty_Isaiah4 } }, [TRAINER_ISAIAH_5] = @@ -5358,7 +5358,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah5 } + .party = {.NoItemDefaultMoves = sParty_Isaiah5 } }, [TRAINER_ISOBEL] = @@ -5372,7 +5372,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isobel } + .party = {.NoItemDefaultMoves = sParty_Isobel } }, [TRAINER_DONNY] = @@ -5386,7 +5386,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Donny } + .party = {.NoItemDefaultMoves = sParty_Donny } }, [TRAINER_TALIA] = @@ -5400,7 +5400,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Talia } + .party = {.NoItemDefaultMoves = sParty_Talia } }, [TRAINER_KATELYN_1] = @@ -5414,7 +5414,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn1 } + .party = {.NoItemDefaultMoves = sParty_Katelyn1 } }, [TRAINER_ALLISON] = @@ -5428,7 +5428,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Allison } + .party = {.NoItemDefaultMoves = sParty_Allison } }, [TRAINER_KATELYN_2] = @@ -5442,7 +5442,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn2 } + .party = {.NoItemDefaultMoves = sParty_Katelyn2 } }, [TRAINER_KATELYN_3] = @@ -5456,7 +5456,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn3 } + .party = {.NoItemDefaultMoves = sParty_Katelyn3 } }, [TRAINER_KATELYN_4] = @@ -5470,7 +5470,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn4 } + .party = {.NoItemDefaultMoves = sParty_Katelyn4 } }, [TRAINER_KATELYN_5] = @@ -5484,7 +5484,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn5 } + .party = {.NoItemDefaultMoves = sParty_Katelyn5 } }, [TRAINER_NICOLAS_1] = @@ -5498,7 +5498,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas1 } + .party = {.NoItemDefaultMoves = sParty_Nicolas1 } }, [TRAINER_NICOLAS_2] = @@ -5512,7 +5512,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas2 } + .party = {.NoItemDefaultMoves = sParty_Nicolas2 } }, [TRAINER_NICOLAS_3] = @@ -5526,7 +5526,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas3 } + .party = {.NoItemDefaultMoves = sParty_Nicolas3 } }, [TRAINER_NICOLAS_4] = @@ -5540,7 +5540,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas4 } + .party = {.NoItemDefaultMoves = sParty_Nicolas4 } }, [TRAINER_NICOLAS_5] = @@ -5554,7 +5554,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.ItemDefaultMoves = gTrainerParty_Nicolas5 } + .party = {.ItemDefaultMoves = sParty_Nicolas5 } }, [TRAINER_AARON] = @@ -5568,7 +5568,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Aaron } + .party = {.NoItemCustomMoves = sParty_Aaron } }, [TRAINER_PERRY] = @@ -5582,7 +5582,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Perry } + .party = {.NoItemDefaultMoves = sParty_Perry } }, [TRAINER_HUGH] = @@ -5596,7 +5596,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hugh } + .party = {.NoItemDefaultMoves = sParty_Hugh } }, [TRAINER_PHIL] = @@ -5610,7 +5610,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Phil } + .party = {.NoItemDefaultMoves = sParty_Phil } }, [TRAINER_JARED] = @@ -5624,7 +5624,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jared } + .party = {.NoItemDefaultMoves = sParty_Jared } }, [TRAINER_HUMBERTO] = @@ -5638,7 +5638,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Humberto } + .party = {.NoItemDefaultMoves = sParty_Humberto } }, [TRAINER_PRESLEY] = @@ -5652,7 +5652,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Presley } + .party = {.NoItemDefaultMoves = sParty_Presley } }, [TRAINER_EDWARDO] = @@ -5666,7 +5666,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwardo } + .party = {.NoItemDefaultMoves = sParty_Edwardo } }, [TRAINER_COLIN] = @@ -5680,7 +5680,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Colin } + .party = {.NoItemDefaultMoves = sParty_Colin } }, [TRAINER_ROBERT_1] = @@ -5694,7 +5694,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert1 } + .party = {.NoItemDefaultMoves = sParty_Robert1 } }, [TRAINER_BENNY] = @@ -5708,7 +5708,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Benny } + .party = {.NoItemDefaultMoves = sParty_Benny } }, [TRAINER_CHESTER] = @@ -5722,7 +5722,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chester } + .party = {.NoItemDefaultMoves = sParty_Chester } }, [TRAINER_ROBERT_2] = @@ -5736,7 +5736,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert2 } + .party = {.NoItemDefaultMoves = sParty_Robert2 } }, [TRAINER_ROBERT_3] = @@ -5750,7 +5750,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert3 } + .party = {.NoItemDefaultMoves = sParty_Robert3 } }, [TRAINER_ROBERT_4] = @@ -5764,7 +5764,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert4 } + .party = {.NoItemDefaultMoves = sParty_Robert4 } }, [TRAINER_ROBERT_5] = @@ -5778,7 +5778,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Robert5 } + .party = {.NoItemDefaultMoves = sParty_Robert5 } }, [TRAINER_ALEX] = @@ -5792,7 +5792,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alex } + .party = {.NoItemDefaultMoves = sParty_Alex } }, [TRAINER_BECK] = @@ -5806,7 +5806,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Beck } + .party = {.NoItemDefaultMoves = sParty_Beck } }, [TRAINER_YASU] = @@ -5820,7 +5820,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Yasu } + .party = {.NoItemDefaultMoves = sParty_Yasu } }, [TRAINER_TAKASHI] = @@ -5834,7 +5834,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Takashi } + .party = {.NoItemDefaultMoves = sParty_Takashi } }, [TRAINER_DIANNE] = @@ -5848,7 +5848,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Dianne } + .party = {.ItemCustomMoves = sParty_Dianne } }, [TRAINER_JANI] = @@ -5862,7 +5862,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jani } + .party = {.NoItemDefaultMoves = sParty_Jani } }, [TRAINER_LAO_1] = @@ -5876,7 +5876,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 3, - .party = {.NoItemCustomMoves = gTrainerParty_Lao1 } + .party = {.NoItemCustomMoves = sParty_Lao1 } }, [TRAINER_LUNG] = @@ -5890,7 +5890,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lung } + .party = {.NoItemDefaultMoves = sParty_Lung } }, [TRAINER_LAO_2] = @@ -5904,7 +5904,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao2 } + .party = {.NoItemCustomMoves = sParty_Lao2 } }, [TRAINER_LAO_3] = @@ -5918,7 +5918,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao3 } + .party = {.NoItemCustomMoves = sParty_Lao3 } }, [TRAINER_LAO_4] = @@ -5932,7 +5932,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.NoItemCustomMoves = gTrainerParty_Lao4 } + .party = {.NoItemCustomMoves = sParty_Lao4 } }, [TRAINER_LAO_5] = @@ -5946,7 +5946,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Lao5 } + .party = {.ItemCustomMoves = sParty_Lao5 } }, [TRAINER_JOCELYN] = @@ -5960,7 +5960,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jocelyn } + .party = {.NoItemDefaultMoves = sParty_Jocelyn } }, [TRAINER_LAURA] = @@ -5974,7 +5974,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Laura } + .party = {.NoItemDefaultMoves = sParty_Laura } }, [TRAINER_CYNDY_1] = @@ -5988,7 +5988,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy1 } + .party = {.NoItemDefaultMoves = sParty_Cyndy1 } }, [TRAINER_CORA] = @@ -6002,7 +6002,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cora } + .party = {.NoItemDefaultMoves = sParty_Cora } }, [TRAINER_PAULA] = @@ -6016,7 +6016,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Paula } + .party = {.NoItemDefaultMoves = sParty_Paula } }, [TRAINER_CYNDY_2] = @@ -6030,7 +6030,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy2 } + .party = {.NoItemDefaultMoves = sParty_Cyndy2 } }, [TRAINER_CYNDY_3] = @@ -6044,7 +6044,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy3 } + .party = {.NoItemDefaultMoves = sParty_Cyndy3 } }, [TRAINER_CYNDY_4] = @@ -6058,7 +6058,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy4 } + .party = {.NoItemDefaultMoves = sParty_Cyndy4 } }, [TRAINER_CYNDY_5] = @@ -6072,7 +6072,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy5 } + .party = {.NoItemDefaultMoves = sParty_Cyndy5 } }, [TRAINER_MADELINE_1] = @@ -6086,7 +6086,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline1 } + .party = {.NoItemCustomMoves = sParty_Madeline1 } }, [TRAINER_CLARISSA] = @@ -6100,7 +6100,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Clarissa } + .party = {.NoItemDefaultMoves = sParty_Clarissa } }, [TRAINER_ANGELICA] = @@ -6114,7 +6114,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Angelica } + .party = {.NoItemCustomMoves = sParty_Angelica } }, [TRAINER_MADELINE_2] = @@ -6128,7 +6128,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline2 } + .party = {.NoItemCustomMoves = sParty_Madeline2 } }, [TRAINER_MADELINE_3] = @@ -6142,7 +6142,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline3 } + .party = {.NoItemCustomMoves = sParty_Madeline3 } }, [TRAINER_MADELINE_4] = @@ -6156,7 +6156,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline4 } + .party = {.NoItemCustomMoves = sParty_Madeline4 } }, [TRAINER_MADELINE_5] = @@ -6170,7 +6170,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Madeline5 } + .party = {.NoItemCustomMoves = sParty_Madeline5 } }, [TRAINER_BEVERLY] = @@ -6184,7 +6184,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Beverly } + .party = {.NoItemDefaultMoves = sParty_Beverly } }, [TRAINER_IMANI] = @@ -6198,7 +6198,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Imani } + .party = {.NoItemDefaultMoves = sParty_Imani } }, [TRAINER_KYLA] = @@ -6212,7 +6212,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kyla } + .party = {.NoItemDefaultMoves = sParty_Kyla } }, [TRAINER_DENISE] = @@ -6226,7 +6226,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Denise } + .party = {.NoItemDefaultMoves = sParty_Denise } }, [TRAINER_BETH] = @@ -6240,7 +6240,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Beth } + .party = {.NoItemDefaultMoves = sParty_Beth } }, [TRAINER_TARA] = @@ -6254,7 +6254,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tara } + .party = {.NoItemDefaultMoves = sParty_Tara } }, [TRAINER_MISSY] = @@ -6268,7 +6268,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Missy } + .party = {.NoItemDefaultMoves = sParty_Missy } }, [TRAINER_ALICE] = @@ -6282,7 +6282,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Alice } + .party = {.NoItemDefaultMoves = sParty_Alice } }, [TRAINER_JENNY_1] = @@ -6296,7 +6296,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny1 } + .party = {.NoItemDefaultMoves = sParty_Jenny1 } }, [TRAINER_GRACE] = @@ -6310,7 +6310,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grace } + .party = {.NoItemDefaultMoves = sParty_Grace } }, [TRAINER_TANYA] = @@ -6324,7 +6324,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tanya } + .party = {.NoItemDefaultMoves = sParty_Tanya } }, [TRAINER_SHARON] = @@ -6338,7 +6338,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sharon } + .party = {.NoItemDefaultMoves = sParty_Sharon } }, [TRAINER_NIKKI] = @@ -6352,7 +6352,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nikki } + .party = {.NoItemDefaultMoves = sParty_Nikki } }, [TRAINER_BRENDA] = @@ -6366,7 +6366,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brenda } + .party = {.NoItemDefaultMoves = sParty_Brenda } }, [TRAINER_KATIE] = @@ -6380,7 +6380,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Katie } + .party = {.NoItemDefaultMoves = sParty_Katie } }, [TRAINER_SUSIE] = @@ -6394,7 +6394,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Susie } + .party = {.NoItemDefaultMoves = sParty_Susie } }, [TRAINER_KARA] = @@ -6408,7 +6408,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kara } + .party = {.NoItemDefaultMoves = sParty_Kara } }, [TRAINER_DANA] = @@ -6422,7 +6422,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Dana } + .party = {.NoItemDefaultMoves = sParty_Dana } }, [TRAINER_SIENNA] = @@ -6436,7 +6436,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sienna } + .party = {.NoItemDefaultMoves = sParty_Sienna } }, [TRAINER_DEBRA] = @@ -6450,7 +6450,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Debra } + .party = {.NoItemDefaultMoves = sParty_Debra } }, [TRAINER_LINDA] = @@ -6464,7 +6464,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Linda } + .party = {.NoItemDefaultMoves = sParty_Linda } }, [TRAINER_KAYLEE] = @@ -6478,7 +6478,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kaylee } + .party = {.NoItemDefaultMoves = sParty_Kaylee } }, [TRAINER_LAUREL] = @@ -6492,7 +6492,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Laurel } + .party = {.NoItemDefaultMoves = sParty_Laurel } }, [TRAINER_CARLEE] = @@ -6506,7 +6506,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Carlee } + .party = {.NoItemDefaultMoves = sParty_Carlee } }, [TRAINER_JENNY_2] = @@ -6520,7 +6520,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny2 } + .party = {.NoItemDefaultMoves = sParty_Jenny2 } }, [TRAINER_JENNY_3] = @@ -6534,7 +6534,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny3 } + .party = {.NoItemDefaultMoves = sParty_Jenny3 } }, [TRAINER_JENNY_4] = @@ -6548,7 +6548,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny4 } + .party = {.NoItemDefaultMoves = sParty_Jenny4 } }, [TRAINER_JENNY_5] = @@ -6562,7 +6562,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenny5 } + .party = {.NoItemDefaultMoves = sParty_Jenny5 } }, [TRAINER_HEIDI] = @@ -6576,7 +6576,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Heidi } + .party = {.NoItemCustomMoves = sParty_Heidi } }, [TRAINER_BECKY] = @@ -6590,7 +6590,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Becky } + .party = {.NoItemCustomMoves = sParty_Becky } }, [TRAINER_CAROL] = @@ -6604,7 +6604,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Carol } + .party = {.NoItemDefaultMoves = sParty_Carol } }, [TRAINER_NANCY] = @@ -6618,7 +6618,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Nancy } + .party = {.NoItemDefaultMoves = sParty_Nancy } }, [TRAINER_MARTHA] = @@ -6632,7 +6632,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Martha } + .party = {.NoItemDefaultMoves = sParty_Martha } }, [TRAINER_DIANA_1] = @@ -6646,7 +6646,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana1 } + .party = {.NoItemDefaultMoves = sParty_Diana1 } }, [TRAINER_CEDRIC] = @@ -6660,7 +6660,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Cedric } + .party = {.NoItemCustomMoves = sParty_Cedric } }, [TRAINER_IRENE] = @@ -6674,7 +6674,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Irene } + .party = {.NoItemDefaultMoves = sParty_Irene } }, [TRAINER_DIANA_2] = @@ -6688,7 +6688,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana2 } + .party = {.NoItemDefaultMoves = sParty_Diana2 } }, [TRAINER_DIANA_3] = @@ -6702,7 +6702,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana3 } + .party = {.NoItemDefaultMoves = sParty_Diana3 } }, [TRAINER_DIANA_4] = @@ -6716,7 +6716,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana4 } + .party = {.NoItemDefaultMoves = sParty_Diana4 } }, [TRAINER_DIANA_5] = @@ -6730,7 +6730,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Diana5 } + .party = {.NoItemDefaultMoves = sParty_Diana5 } }, [TRAINER_AMY_AND_LIV_1] = @@ -6744,7 +6744,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv1 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv1 } }, [TRAINER_AMY_AND_LIV_2] = @@ -6758,7 +6758,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv2 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv2 } }, [TRAINER_GINA_AND_MIA_1] = @@ -6772,7 +6772,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_GinaAndMia1 } + .party = {.NoItemDefaultMoves = sParty_GinaAndMia1 } }, [TRAINER_MIU_AND_YUKI] = @@ -6786,7 +6786,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_MiuAndYuki } + .party = {.NoItemDefaultMoves = sParty_MiuAndYuki } }, [TRAINER_AMY_AND_LIV_3] = @@ -6800,7 +6800,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv3 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv3 } }, [TRAINER_GINA_AND_MIA_2] = @@ -6814,7 +6814,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_GinaAndMia2 } + .party = {.NoItemCustomMoves = sParty_GinaAndMia2 } }, [TRAINER_AMY_AND_LIV_4] = @@ -6828,7 +6828,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv4 } + .party = {.NoItemDefaultMoves = sParty_AmyAndLiv4 } }, [TRAINER_AMY_AND_LIV_5] = @@ -6842,7 +6842,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv5 } + .party = {.NoItemCustomMoves = sParty_AmyAndLiv5 } }, [TRAINER_AMY_AND_LIV_6] = @@ -6856,7 +6856,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv6 } + .party = {.NoItemCustomMoves = sParty_AmyAndLiv6 } }, [TRAINER_HUEY] = @@ -6870,7 +6870,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Huey } + .party = {.NoItemDefaultMoves = sParty_Huey } }, [TRAINER_EDMOND] = @@ -6884,7 +6884,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Edmond } + .party = {.NoItemDefaultMoves = sParty_Edmond } }, [TRAINER_ERNEST_1] = @@ -6898,7 +6898,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest1 } + .party = {.NoItemDefaultMoves = sParty_Ernest1 } }, [TRAINER_DWAYNE] = @@ -6912,7 +6912,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Dwayne } + .party = {.NoItemDefaultMoves = sParty_Dwayne } }, [TRAINER_PHILLIP] = @@ -6926,7 +6926,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Phillip } + .party = {.NoItemDefaultMoves = sParty_Phillip } }, [TRAINER_LEONARD] = @@ -6940,7 +6940,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Leonard } + .party = {.NoItemDefaultMoves = sParty_Leonard } }, [TRAINER_DUNCAN] = @@ -6954,7 +6954,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Duncan } + .party = {.NoItemDefaultMoves = sParty_Duncan } }, [TRAINER_ERNEST_2] = @@ -6968,7 +6968,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest2 } + .party = {.NoItemDefaultMoves = sParty_Ernest2 } }, [TRAINER_ERNEST_3] = @@ -6982,7 +6982,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest3 } + .party = {.NoItemDefaultMoves = sParty_Ernest3 } }, [TRAINER_ERNEST_4] = @@ -6996,7 +6996,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest4 } + .party = {.NoItemDefaultMoves = sParty_Ernest4 } }, [TRAINER_ERNEST_5] = @@ -7010,7 +7010,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ernest5 } + .party = {.NoItemDefaultMoves = sParty_Ernest5 } }, [TRAINER_ELI] = @@ -7024,7 +7024,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Eli } + .party = {.NoItemDefaultMoves = sParty_Eli } }, [TRAINER_ANNIKA] = @@ -7038,7 +7038,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Annika } + .party = {.ItemCustomMoves = sParty_Annika } }, [TRAINER_JAZMYN] = @@ -7052,7 +7052,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jazmyn } + .party = {.NoItemDefaultMoves = sParty_Jazmyn } }, [TRAINER_JONAS] = @@ -7066,7 +7066,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Jonas } + .party = {.NoItemCustomMoves = sParty_Jonas } }, [TRAINER_KAYLEY] = @@ -7080,7 +7080,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Kayley } + .party = {.NoItemCustomMoves = sParty_Kayley } }, [TRAINER_AURON] = @@ -7094,7 +7094,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Auron } + .party = {.NoItemDefaultMoves = sParty_Auron } }, [TRAINER_KELVIN] = @@ -7108,7 +7108,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kelvin } + .party = {.NoItemDefaultMoves = sParty_Kelvin } }, [TRAINER_MARLEY] = @@ -7122,7 +7122,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.ItemCustomMoves = gTrainerParty_Marley } + .party = {.ItemCustomMoves = sParty_Marley } }, [TRAINER_REYNA] = @@ -7136,7 +7136,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Reyna } + .party = {.NoItemDefaultMoves = sParty_Reyna } }, [TRAINER_HUDSON] = @@ -7150,7 +7150,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hudson } + .party = {.NoItemDefaultMoves = sParty_Hudson } }, [TRAINER_CONOR] = @@ -7164,7 +7164,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Conor } + .party = {.NoItemDefaultMoves = sParty_Conor } }, [TRAINER_EDWIN_1] = @@ -7178,7 +7178,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin1 } + .party = {.NoItemDefaultMoves = sParty_Edwin1 } }, [TRAINER_HECTOR] = @@ -7192,7 +7192,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Hector } + .party = {.NoItemDefaultMoves = sParty_Hector } }, [TRAINER_TABITHA_1] = @@ -7206,7 +7206,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha1 } + .party = {.NoItemDefaultMoves = sParty_Tabitha1 } }, [TRAINER_EDWIN_2] = @@ -7220,7 +7220,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin2 } + .party = {.NoItemDefaultMoves = sParty_Edwin2 } }, [TRAINER_EDWIN_3] = @@ -7234,7 +7234,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin3 } + .party = {.NoItemDefaultMoves = sParty_Edwin3 } }, [TRAINER_EDWIN_4] = @@ -7248,7 +7248,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin4 } + .party = {.NoItemDefaultMoves = sParty_Edwin4 } }, [TRAINER_EDWIN_5] = @@ -7262,7 +7262,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Edwin5 } + .party = {.NoItemDefaultMoves = sParty_Edwin5 } }, [TRAINER_WALLY_1] = @@ -7276,7 +7276,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally1 } + .party = {.NoItemCustomMoves = sParty_Wally1 } }, [TRAINER_BRENDAN_1] = @@ -7290,7 +7290,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan1 } + .party = {.NoItemDefaultMoves = sParty_Brendan1 } }, [TRAINER_BRENDAN_2] = @@ -7304,7 +7304,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan2 } + .party = {.NoItemDefaultMoves = sParty_Brendan2 } }, [TRAINER_BRENDAN_3] = @@ -7318,7 +7318,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan3 } + .party = {.NoItemDefaultMoves = sParty_Brendan3 } }, [TRAINER_BRENDAN_4] = @@ -7332,7 +7332,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan4 } + .party = {.NoItemDefaultMoves = sParty_Brendan4 } }, [TRAINER_BRENDAN_5] = @@ -7346,7 +7346,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan5 } + .party = {.NoItemDefaultMoves = sParty_Brendan5 } }, [TRAINER_BRENDAN_6] = @@ -7360,7 +7360,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan6 } + .party = {.NoItemDefaultMoves = sParty_Brendan6 } }, [TRAINER_BRENDAN_7] = @@ -7374,7 +7374,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan7 } + .party = {.NoItemDefaultMoves = sParty_Brendan7 } }, [TRAINER_BRENDAN_8] = @@ -7388,7 +7388,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan8 } + .party = {.NoItemDefaultMoves = sParty_Brendan8 } }, [TRAINER_BRENDAN_9] = @@ -7402,7 +7402,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan9 } + .party = {.NoItemDefaultMoves = sParty_Brendan9 } }, [TRAINER_MAY_1] = @@ -7416,7 +7416,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May1 } + .party = {.NoItemDefaultMoves = sParty_May1 } }, [TRAINER_MAY_2] = @@ -7430,7 +7430,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May2 } + .party = {.NoItemDefaultMoves = sParty_May2 } }, [TRAINER_MAY_3] = @@ -7444,7 +7444,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May3 } + .party = {.NoItemDefaultMoves = sParty_May3 } }, [TRAINER_MAY_4] = @@ -7458,7 +7458,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May4 } + .party = {.NoItemDefaultMoves = sParty_May4 } }, [TRAINER_MAY_5] = @@ -7472,7 +7472,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May5 } + .party = {.NoItemDefaultMoves = sParty_May5 } }, [TRAINER_MAY_6] = @@ -7486,7 +7486,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May6 } + .party = {.NoItemDefaultMoves = sParty_May6 } }, [TRAINER_MAY_7] = @@ -7500,7 +7500,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May7 } + .party = {.NoItemDefaultMoves = sParty_May7 } }, [TRAINER_MAY_8] = @@ -7514,7 +7514,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May8 } + .party = {.NoItemDefaultMoves = sParty_May8 } }, [TRAINER_MAY_9] = @@ -7528,7 +7528,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_May9 } + .party = {.NoItemDefaultMoves = sParty_May9 } }, [TRAINER_ISAAC_1] = @@ -7542,7 +7542,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac1 } + .party = {.NoItemDefaultMoves = sParty_Isaac1 } }, [TRAINER_DAVIS] = @@ -7556,7 +7556,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Davis } + .party = {.NoItemDefaultMoves = sParty_Davis } }, [TRAINER_MITCHELL] = @@ -7570,7 +7570,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Mitchell } + .party = {.NoItemCustomMoves = sParty_Mitchell } }, [TRAINER_ISAAC_2] = @@ -7584,7 +7584,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac2 } + .party = {.NoItemDefaultMoves = sParty_Isaac2 } }, [TRAINER_ISAAC_3] = @@ -7598,7 +7598,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac3 } + .party = {.NoItemDefaultMoves = sParty_Isaac3 } }, [TRAINER_ISAAC_4] = @@ -7612,7 +7612,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac4 } + .party = {.NoItemDefaultMoves = sParty_Isaac4 } }, [TRAINER_ISAAC_5] = @@ -7626,7 +7626,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Isaac5 } + .party = {.NoItemDefaultMoves = sParty_Isaac5 } }, [TRAINER_LYDIA_1] = @@ -7640,7 +7640,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia1 } + .party = {.NoItemDefaultMoves = sParty_Lydia1 } }, [TRAINER_HALLE] = @@ -7654,7 +7654,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Halle } + .party = {.NoItemDefaultMoves = sParty_Halle } }, [TRAINER_GARRISON] = @@ -7668,7 +7668,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Garrison } + .party = {.NoItemDefaultMoves = sParty_Garrison } }, [TRAINER_LYDIA_2] = @@ -7682,7 +7682,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia2 } + .party = {.NoItemDefaultMoves = sParty_Lydia2 } }, [TRAINER_LYDIA_3] = @@ -7696,7 +7696,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia3 } + .party = {.NoItemDefaultMoves = sParty_Lydia3 } }, [TRAINER_LYDIA_4] = @@ -7710,7 +7710,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia4 } + .party = {.NoItemDefaultMoves = sParty_Lydia4 } }, [TRAINER_LYDIA_5] = @@ -7724,7 +7724,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Lydia5 } + .party = {.NoItemDefaultMoves = sParty_Lydia5 } }, [TRAINER_JACKSON_1] = @@ -7738,7 +7738,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson1 } + .party = {.NoItemDefaultMoves = sParty_Jackson1 } }, [TRAINER_LORENZO] = @@ -7752,7 +7752,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Lorenzo } + .party = {.NoItemDefaultMoves = sParty_Lorenzo } }, [TRAINER_SEBASTIAN] = @@ -7766,7 +7766,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sebastian } + .party = {.NoItemDefaultMoves = sParty_Sebastian } }, [TRAINER_JACKSON_2] = @@ -7780,7 +7780,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson2 } + .party = {.NoItemDefaultMoves = sParty_Jackson2 } }, [TRAINER_JACKSON_3] = @@ -7794,7 +7794,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson3 } + .party = {.NoItemDefaultMoves = sParty_Jackson3 } }, [TRAINER_JACKSON_4] = @@ -7808,7 +7808,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson4 } + .party = {.NoItemDefaultMoves = sParty_Jackson4 } }, [TRAINER_JACKSON_5] = @@ -7822,7 +7822,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jackson5 } + .party = {.NoItemDefaultMoves = sParty_Jackson5 } }, [TRAINER_CATHERINE_1] = @@ -7836,7 +7836,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine1 } + .party = {.NoItemDefaultMoves = sParty_Catherine1 } }, [TRAINER_JENNA] = @@ -7850,7 +7850,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jenna } + .party = {.NoItemDefaultMoves = sParty_Jenna } }, [TRAINER_SOPHIA] = @@ -7864,7 +7864,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sophia } + .party = {.NoItemDefaultMoves = sParty_Sophia } }, [TRAINER_CATHERINE_2] = @@ -7878,7 +7878,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine2 } + .party = {.NoItemDefaultMoves = sParty_Catherine2 } }, [TRAINER_CATHERINE_3] = @@ -7892,7 +7892,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine3 } + .party = {.NoItemDefaultMoves = sParty_Catherine3 } }, [TRAINER_CATHERINE_4] = @@ -7906,7 +7906,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine4 } + .party = {.NoItemDefaultMoves = sParty_Catherine4 } }, [TRAINER_CATHERINE_5] = @@ -7920,7 +7920,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Catherine5 } + .party = {.NoItemDefaultMoves = sParty_Catherine5 } }, [TRAINER_JULIO] = @@ -7934,7 +7934,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Julio } + .party = {.NoItemDefaultMoves = sParty_Julio } }, [TRAINER_GRUNT_27] = @@ -7948,7 +7948,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt27 } + .party = {.NoItemDefaultMoves = sParty_Grunt27 } }, [TRAINER_GRUNT_28] = @@ -7962,7 +7962,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt28 } + .party = {.NoItemDefaultMoves = sParty_Grunt28 } }, [TRAINER_GRUNT_29] = @@ -7976,7 +7976,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt29 } + .party = {.NoItemDefaultMoves = sParty_Grunt29 } }, [TRAINER_GRUNT_30] = @@ -7990,7 +7990,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt30 } + .party = {.NoItemDefaultMoves = sParty_Grunt30 } }, [TRAINER_MARC] = @@ -8004,7 +8004,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marc } + .party = {.NoItemDefaultMoves = sParty_Marc } }, [TRAINER_BRENDEN] = @@ -8018,7 +8018,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brenden } + .party = {.NoItemDefaultMoves = sParty_Brenden } }, [TRAINER_LILITH] = @@ -8032,7 +8032,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Lilith } + .party = {.NoItemDefaultMoves = sParty_Lilith } }, [TRAINER_CRISTIAN] = @@ -8046,7 +8046,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristian } + .party = {.NoItemDefaultMoves = sParty_Cristian } }, [TRAINER_SYLVIA] = @@ -8060,7 +8060,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sylvia } + .party = {.NoItemDefaultMoves = sParty_Sylvia } }, [TRAINER_LEONARDO] = @@ -8074,7 +8074,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leonardo } + .party = {.NoItemDefaultMoves = sParty_Leonardo } }, [TRAINER_ATHENA] = @@ -8088,7 +8088,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Athena } + .party = {.ItemCustomMoves = sParty_Athena } }, [TRAINER_HARRISON] = @@ -8102,7 +8102,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Harrison } + .party = {.NoItemDefaultMoves = sParty_Harrison } }, [TRAINER_GRUNT_31] = @@ -8116,7 +8116,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt31 } + .party = {.NoItemDefaultMoves = sParty_Grunt31 } }, [TRAINER_CLARENCE] = @@ -8130,7 +8130,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clarence } + .party = {.NoItemDefaultMoves = sParty_Clarence } }, [TRAINER_TERRY] = @@ -8144,7 +8144,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Terry } + .party = {.NoItemDefaultMoves = sParty_Terry } }, [TRAINER_NATE] = @@ -8158,7 +8158,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nate } + .party = {.NoItemDefaultMoves = sParty_Nate } }, [TRAINER_KATHLEEN] = @@ -8172,7 +8172,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kathleen } + .party = {.NoItemDefaultMoves = sParty_Kathleen } }, [TRAINER_CLIFFORD] = @@ -8186,7 +8186,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clifford } + .party = {.NoItemDefaultMoves = sParty_Clifford } }, [TRAINER_NICHOLAS] = @@ -8200,7 +8200,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Nicholas } + .party = {.NoItemDefaultMoves = sParty_Nicholas } }, [TRAINER_GRUNT_32] = @@ -8214,7 +8214,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt32 } + .party = {.NoItemDefaultMoves = sParty_Grunt32 } }, [TRAINER_GRUNT_33] = @@ -8228,7 +8228,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt33 } + .party = {.NoItemDefaultMoves = sParty_Grunt33 } }, [TRAINER_GRUNT_34] = @@ -8242,7 +8242,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt34 } + .party = {.NoItemDefaultMoves = sParty_Grunt34 } }, [TRAINER_GRUNT_35] = @@ -8256,7 +8256,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt35 } + .party = {.NoItemDefaultMoves = sParty_Grunt35 } }, [TRAINER_GRUNT_36] = @@ -8270,7 +8270,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt36 } + .party = {.NoItemDefaultMoves = sParty_Grunt36 } }, [TRAINER_MACEY] = @@ -8284,7 +8284,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Macey } + .party = {.NoItemDefaultMoves = sParty_Macey } }, [TRAINER_BRENDAN_10] = @@ -8298,7 +8298,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan10 } + .party = {.NoItemDefaultMoves = sParty_Brendan10 } }, [TRAINER_BRENDAN_11] = @@ -8312,7 +8312,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan11 } + .party = {.NoItemDefaultMoves = sParty_Brendan11 } }, [TRAINER_PAXTON] = @@ -8326,7 +8326,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Paxton } + .party = {.NoItemDefaultMoves = sParty_Paxton } }, [TRAINER_ISABELLA] = @@ -8340,7 +8340,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isabella } + .party = {.NoItemDefaultMoves = sParty_Isabella } }, [TRAINER_GRUNT_37] = @@ -8354,7 +8354,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt37 } + .party = {.NoItemDefaultMoves = sParty_Grunt37 } }, [TRAINER_TABITHA_2] = @@ -8368,7 +8368,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha2 } + .party = {.NoItemDefaultMoves = sParty_Tabitha2 } }, [TRAINER_JONATHAN] = @@ -8382,7 +8382,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jonathan } + .party = {.NoItemDefaultMoves = sParty_Jonathan } }, [TRAINER_BRENDAN_12] = @@ -8396,7 +8396,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan12 } + .party = {.NoItemDefaultMoves = sParty_Brendan12 } }, [TRAINER_MAY_10] = @@ -8410,7 +8410,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May10 } + .party = {.NoItemDefaultMoves = sParty_May10 } }, [TRAINER_MAXIE_1] = @@ -8424,7 +8424,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie1 } + .party = {.NoItemDefaultMoves = sParty_Maxie1 } }, [TRAINER_MAXIE_2] = @@ -8438,7 +8438,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie2 } + .party = {.NoItemDefaultMoves = sParty_Maxie2 } }, [TRAINER_TIANA] = @@ -8452,7 +8452,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Tiana } + .party = {.NoItemDefaultMoves = sParty_Tiana } }, [TRAINER_HALEY_1] = @@ -8466,7 +8466,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley1 } + .party = {.NoItemDefaultMoves = sParty_Haley1 } }, [TRAINER_JANICE] = @@ -8480,7 +8480,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Janice } + .party = {.NoItemDefaultMoves = sParty_Janice } }, [TRAINER_VIVI] = @@ -8494,7 +8494,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Vivi } + .party = {.NoItemDefaultMoves = sParty_Vivi } }, [TRAINER_HALEY_2] = @@ -8508,7 +8508,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley2 } + .party = {.NoItemDefaultMoves = sParty_Haley2 } }, [TRAINER_HALEY_3] = @@ -8522,7 +8522,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley3 } + .party = {.NoItemDefaultMoves = sParty_Haley3 } }, [TRAINER_HALEY_4] = @@ -8536,7 +8536,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley4 } + .party = {.NoItemDefaultMoves = sParty_Haley4 } }, [TRAINER_HALEY_5] = @@ -8550,7 +8550,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Haley5 } + .party = {.NoItemDefaultMoves = sParty_Haley5 } }, [TRAINER_SALLY] = @@ -8564,7 +8564,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Sally } + .party = {.NoItemDefaultMoves = sParty_Sally } }, [TRAINER_ROBIN] = @@ -8578,7 +8578,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Robin } + .party = {.NoItemDefaultMoves = sParty_Robin } }, [TRAINER_ANDREA] = @@ -8592,7 +8592,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Andrea } + .party = {.NoItemDefaultMoves = sParty_Andrea } }, [TRAINER_CRISSY] = @@ -8606,7 +8606,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Crissy } + .party = {.NoItemDefaultMoves = sParty_Crissy } }, [TRAINER_RICK] = @@ -8620,7 +8620,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Rick } + .party = {.NoItemDefaultMoves = sParty_Rick } }, [TRAINER_LYLE] = @@ -8634,7 +8634,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Lyle } + .party = {.NoItemDefaultMoves = sParty_Lyle } }, [TRAINER_JOSE] = @@ -8648,7 +8648,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jose } + .party = {.NoItemDefaultMoves = sParty_Jose } }, [TRAINER_DOUG] = @@ -8662,7 +8662,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Doug } + .party = {.NoItemDefaultMoves = sParty_Doug } }, [TRAINER_GREG] = @@ -8676,7 +8676,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Greg } + .party = {.NoItemDefaultMoves = sParty_Greg } }, [TRAINER_KENT] = @@ -8690,7 +8690,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kent } + .party = {.NoItemDefaultMoves = sParty_Kent } }, [TRAINER_JAMES_1] = @@ -8704,7 +8704,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_James1 } + .party = {.NoItemDefaultMoves = sParty_James1 } }, [TRAINER_JAMES_2] = @@ -8718,7 +8718,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_James2 } + .party = {.NoItemDefaultMoves = sParty_James2 } }, [TRAINER_JAMES_3] = @@ -8732,7 +8732,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_James3 } + .party = {.NoItemDefaultMoves = sParty_James3 } }, [TRAINER_JAMES_4] = @@ -8746,7 +8746,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_James4 } + .party = {.NoItemDefaultMoves = sParty_James4 } }, [TRAINER_JAMES_5] = @@ -8760,7 +8760,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_James5 } + .party = {.NoItemDefaultMoves = sParty_James5 } }, [TRAINER_BRICE] = @@ -8774,7 +8774,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Brice } + .party = {.NoItemDefaultMoves = sParty_Brice } }, [TRAINER_TRENT_1] = @@ -8788,7 +8788,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent1 } + .party = {.NoItemDefaultMoves = sParty_Trent1 } }, [TRAINER_LENNY] = @@ -8802,7 +8802,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lenny } + .party = {.NoItemDefaultMoves = sParty_Lenny } }, [TRAINER_LUCAS_1] = @@ -8816,7 +8816,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lucas1 } + .party = {.NoItemDefaultMoves = sParty_Lucas1 } }, [TRAINER_ALAN] = @@ -8830,7 +8830,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Alan } + .party = {.NoItemDefaultMoves = sParty_Alan } }, [TRAINER_CLARK] = @@ -8844,7 +8844,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Clark } + .party = {.NoItemDefaultMoves = sParty_Clark } }, [TRAINER_ERIC] = @@ -8858,7 +8858,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Eric } + .party = {.NoItemDefaultMoves = sParty_Eric } }, [TRAINER_LUCAS_2] = @@ -8872,7 +8872,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Lucas2 } + .party = {.NoItemCustomMoves = sParty_Lucas2 } }, [TRAINER_MIKE_1] = @@ -8886,7 +8886,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Mike1 } + .party = {.NoItemCustomMoves = sParty_Mike1 } }, [TRAINER_MIKE_2] = @@ -8900,7 +8900,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Mike2 } + .party = {.NoItemDefaultMoves = sParty_Mike2 } }, [TRAINER_TRENT_2] = @@ -8914,7 +8914,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent2 } + .party = {.NoItemDefaultMoves = sParty_Trent2 } }, [TRAINER_TRENT_3] = @@ -8928,7 +8928,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent3 } + .party = {.NoItemDefaultMoves = sParty_Trent3 } }, [TRAINER_TRENT_4] = @@ -8942,7 +8942,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent4 } + .party = {.NoItemDefaultMoves = sParty_Trent4 } }, [TRAINER_TRENT_5] = @@ -8956,7 +8956,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Trent5 } + .party = {.NoItemDefaultMoves = sParty_Trent5 } }, [TRAINER_DEZ_AND_LUKE] = @@ -8970,7 +8970,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_DezAndLuke } + .party = {.NoItemDefaultMoves = sParty_DezAndLuke } }, [TRAINER_LEA_AND_JED] = @@ -8984,7 +8984,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LeaAndJed } + .party = {.NoItemDefaultMoves = sParty_LeaAndJed } }, [TRAINER_KIRA_AND_DAN_1] = @@ -8998,7 +8998,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan1 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan1 } }, [TRAINER_KIRA_AND_DAN_2] = @@ -9012,7 +9012,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan2 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan2 } }, [TRAINER_KIRA_AND_DAN_3] = @@ -9026,7 +9026,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan3 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan3 } }, [TRAINER_KIRA_AND_DAN_4] = @@ -9040,7 +9040,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan4 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan4 } }, [TRAINER_KIRA_AND_DAN_5] = @@ -9054,7 +9054,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan5 } + .party = {.NoItemDefaultMoves = sParty_KiraAndDan5 } }, [TRAINER_JOHANNA] = @@ -9068,7 +9068,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Johanna } + .party = {.NoItemDefaultMoves = sParty_Johanna } }, [TRAINER_GERALD] = @@ -9082,7 +9082,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Gerald } + .party = {.NoItemCustomMoves = sParty_Gerald } }, [TRAINER_VIVIAN] = @@ -9096,7 +9096,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Vivian } + .party = {.NoItemCustomMoves = sParty_Vivian } }, [TRAINER_DANIELLE] = @@ -9110,7 +9110,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Danielle } + .party = {.NoItemCustomMoves = sParty_Danielle } }, [TRAINER_HIDEO] = @@ -9124,7 +9124,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Hideo } + .party = {.NoItemCustomMoves = sParty_Hideo } }, [TRAINER_KEIGO] = @@ -9138,7 +9138,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Keigo } + .party = {.NoItemCustomMoves = sParty_Keigo } }, [TRAINER_RILEY] = @@ -9152,7 +9152,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_Riley } + .party = {.NoItemCustomMoves = sParty_Riley } }, [TRAINER_FLINT] = @@ -9166,7 +9166,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Flint } + .party = {.NoItemDefaultMoves = sParty_Flint } }, [TRAINER_ASHLEY] = @@ -9180,7 +9180,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Ashley } + .party = {.NoItemDefaultMoves = sParty_Ashley } }, [TRAINER_WALLY_2] = @@ -9194,7 +9194,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Wally2 } + .party = {.NoItemDefaultMoves = sParty_Wally2 } }, [TRAINER_WALLY_3] = @@ -9208,7 +9208,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally3 } + .party = {.NoItemCustomMoves = sParty_Wally3 } }, [TRAINER_WALLY_4] = @@ -9222,7 +9222,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally4 } + .party = {.NoItemCustomMoves = sParty_Wally4 } }, [TRAINER_WALLY_5] = @@ -9236,7 +9236,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally5 } + .party = {.NoItemCustomMoves = sParty_Wally5 } }, [TRAINER_WALLY_6] = @@ -9250,7 +9250,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.NoItemCustomMoves = gTrainerParty_Wally6 } + .party = {.NoItemCustomMoves = sParty_Wally6 } }, [TRAINER_BRENDAN_13] = @@ -9264,7 +9264,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan13 } + .party = {.NoItemDefaultMoves = sParty_Brendan13 } }, [TRAINER_BRENDAN_14] = @@ -9278,7 +9278,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan14 } + .party = {.NoItemDefaultMoves = sParty_Brendan14 } }, [TRAINER_BRENDAN_15] = @@ -9292,7 +9292,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan15 } + .party = {.NoItemDefaultMoves = sParty_Brendan15 } }, [TRAINER_MAY_11] = @@ -9306,7 +9306,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May11 } + .party = {.NoItemDefaultMoves = sParty_May11 } }, [TRAINER_MAY_12] = @@ -9320,7 +9320,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May12 } + .party = {.NoItemDefaultMoves = sParty_May12 } }, [TRAINER_MAY_13] = @@ -9334,7 +9334,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_May13 } + .party = {.NoItemDefaultMoves = sParty_May13 } }, [TRAINER_JONAH] = @@ -9348,7 +9348,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Jonah } + .party = {.NoItemDefaultMoves = sParty_Jonah } }, [TRAINER_HENRY] = @@ -9362,7 +9362,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Henry } + .party = {.NoItemDefaultMoves = sParty_Henry } }, [TRAINER_ROGER] = @@ -9376,7 +9376,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Roger } + .party = {.NoItemDefaultMoves = sParty_Roger } }, [TRAINER_ALEXA] = @@ -9390,7 +9390,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alexa } + .party = {.NoItemDefaultMoves = sParty_Alexa } }, [TRAINER_RUBEN] = @@ -9404,7 +9404,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Ruben } + .party = {.NoItemDefaultMoves = sParty_Ruben } }, [TRAINER_KOJI_1] = @@ -9418,7 +9418,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji1 } + .party = {.NoItemDefaultMoves = sParty_Koji1 } }, [TRAINER_WAYNE] = @@ -9432,7 +9432,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Wayne } + .party = {.NoItemDefaultMoves = sParty_Wayne } }, [TRAINER_AIDAN] = @@ -9446,7 +9446,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Aidan } + .party = {.NoItemDefaultMoves = sParty_Aidan } }, [TRAINER_REED] = @@ -9460,7 +9460,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Reed } + .party = {.NoItemDefaultMoves = sParty_Reed } }, [TRAINER_TISHA] = @@ -9474,7 +9474,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tisha } + .party = {.NoItemDefaultMoves = sParty_Tisha } }, [TRAINER_TORI_AND_TIA] = @@ -9488,7 +9488,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_ToriAndTia } + .party = {.NoItemDefaultMoves = sParty_ToriAndTia } }, [TRAINER_KIM_AND_IRIS] = @@ -9502,7 +9502,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_KimAndIris } + .party = {.NoItemCustomMoves = sParty_KimAndIris } }, [TRAINER_TYRA_AND_IVY] = @@ -9516,7 +9516,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_TyraAndIvy } + .party = {.NoItemCustomMoves = sParty_TyraAndIvy } }, [TRAINER_MEL_AND_PAUL] = @@ -9530,7 +9530,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_MelAndPaul } + .party = {.NoItemCustomMoves = sParty_MelAndPaul } }, [TRAINER_JOHN_AND_JAY_1] = @@ -9544,7 +9544,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay1 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay1 } }, [TRAINER_JOHN_AND_JAY_2] = @@ -9558,7 +9558,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay2 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay2 } }, [TRAINER_JOHN_AND_JAY_3] = @@ -9572,7 +9572,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay3 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay3 } }, [TRAINER_JOHN_AND_JAY_4] = @@ -9586,7 +9586,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay4 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay4 } }, [TRAINER_JOHN_AND_JAY_5] = @@ -9600,7 +9600,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay5 } + .party = {.NoItemCustomMoves = sParty_JohnAndJay5 } }, [TRAINER_RELI_AND_IAN] = @@ -9614,7 +9614,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_ReliAndIan } + .party = {.NoItemDefaultMoves = sParty_ReliAndIan } }, [TRAINER_LILA_AND_ROY_1] = @@ -9628,7 +9628,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy1 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy1 } }, [TRAINER_LILA_AND_ROY_2] = @@ -9642,7 +9642,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy2 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy2 } }, [TRAINER_LILA_AND_ROY_3] = @@ -9656,7 +9656,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy3 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy3 } }, [TRAINER_LILA_AND_ROY_4] = @@ -9670,7 +9670,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy4 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy4 } }, [TRAINER_LILA_AND_ROY_5] = @@ -9684,7 +9684,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy5 } + .party = {.NoItemDefaultMoves = sParty_LilaAndRoy5 } }, [TRAINER_LISA_AND_RAY] = @@ -9698,7 +9698,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_LisaAndRay } + .party = {.NoItemDefaultMoves = sParty_LisaAndRay } }, [TRAINER_CHRIS] = @@ -9712,7 +9712,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Chris } + .party = {.NoItemDefaultMoves = sParty_Chris } }, [TRAINER_DAWSON] = @@ -9726,7 +9726,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Dawson } + .party = {.ItemDefaultMoves = sParty_Dawson } }, [TRAINER_SARAH] = @@ -9740,7 +9740,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Sarah } + .party = {.ItemDefaultMoves = sParty_Sarah } }, [TRAINER_DARIAN] = @@ -9754,7 +9754,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Darian } + .party = {.NoItemDefaultMoves = sParty_Darian } }, [TRAINER_HAILEY] = @@ -9768,7 +9768,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hailey } + .party = {.NoItemDefaultMoves = sParty_Hailey } }, [TRAINER_CHANDLER] = @@ -9782,7 +9782,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Chandler } + .party = {.NoItemDefaultMoves = sParty_Chandler } }, [TRAINER_KALEB] = @@ -9796,7 +9796,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.ItemDefaultMoves = gTrainerParty_Kaleb } + .party = {.ItemDefaultMoves = sParty_Kaleb } }, [TRAINER_JOSEPH] = @@ -9810,7 +9810,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Joseph } + .party = {.NoItemDefaultMoves = sParty_Joseph } }, [TRAINER_ALYSSA] = @@ -9824,7 +9824,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Alyssa } + .party = {.NoItemDefaultMoves = sParty_Alyssa } }, [TRAINER_MARCOS] = @@ -9838,7 +9838,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Marcos } + .party = {.NoItemDefaultMoves = sParty_Marcos } }, [TRAINER_RHETT] = @@ -9852,7 +9852,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rhett } + .party = {.NoItemDefaultMoves = sParty_Rhett } }, [TRAINER_TYRON] = @@ -9866,7 +9866,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tyron } + .party = {.NoItemDefaultMoves = sParty_Tyron } }, [TRAINER_CELINA] = @@ -9880,7 +9880,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Celina } + .party = {.NoItemDefaultMoves = sParty_Celina } }, [TRAINER_BIANCA] = @@ -9894,7 +9894,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Bianca } + .party = {.NoItemDefaultMoves = sParty_Bianca } }, [TRAINER_HAYDEN] = @@ -9908,7 +9908,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Hayden } + .party = {.NoItemDefaultMoves = sParty_Hayden } }, [TRAINER_SOPHIE] = @@ -9922,7 +9922,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sophie } + .party = {.NoItemDefaultMoves = sParty_Sophie } }, [TRAINER_COBY] = @@ -9936,7 +9936,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Coby } + .party = {.NoItemDefaultMoves = sParty_Coby } }, [TRAINER_LAWRENCE] = @@ -9950,7 +9950,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Lawrence } + .party = {.NoItemDefaultMoves = sParty_Lawrence } }, [TRAINER_WYATT] = @@ -9964,7 +9964,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Wyatt } + .party = {.NoItemDefaultMoves = sParty_Wyatt } }, [TRAINER_ANGELINA] = @@ -9978,7 +9978,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Angelina } + .party = {.NoItemDefaultMoves = sParty_Angelina } }, [TRAINER_KAI] = @@ -9992,7 +9992,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Kai } + .party = {.NoItemDefaultMoves = sParty_Kai } }, [TRAINER_CHARLOTTE] = @@ -10006,7 +10006,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Charlotte } + .party = {.NoItemDefaultMoves = sParty_Charlotte } }, [TRAINER_DEANDRE] = @@ -10020,7 +10020,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Deandre } + .party = {.NoItemDefaultMoves = sParty_Deandre } }, [TRAINER_GRUNT_38] = @@ -10034,7 +10034,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt38 } + .party = {.NoItemDefaultMoves = sParty_Grunt38 } }, [TRAINER_GRUNT_39] = @@ -10048,7 +10048,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt39 } + .party = {.NoItemDefaultMoves = sParty_Grunt39 } }, [TRAINER_GRUNT_40] = @@ -10062,7 +10062,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt40 } + .party = {.NoItemDefaultMoves = sParty_Grunt40 } }, [TRAINER_GRUNT_41] = @@ -10076,7 +10076,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt41 } + .party = {.NoItemDefaultMoves = sParty_Grunt41 } }, [TRAINER_GRUNT_42] = @@ -10090,7 +10090,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt42 } + .party = {.NoItemDefaultMoves = sParty_Grunt42 } }, [TRAINER_GRUNT_43] = @@ -10104,7 +10104,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt43 } + .party = {.NoItemDefaultMoves = sParty_Grunt43 } }, [TRAINER_GRUNT_44] = @@ -10118,7 +10118,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt44 } + .party = {.NoItemDefaultMoves = sParty_Grunt44 } }, [TRAINER_GRUNT_45] = @@ -10132,7 +10132,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt45 } + .party = {.NoItemDefaultMoves = sParty_Grunt45 } }, [TRAINER_GRUNT_46] = @@ -10146,7 +10146,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt46 } + .party = {.NoItemDefaultMoves = sParty_Grunt46 } }, [TRAINER_GRUNT_47] = @@ -10160,7 +10160,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt47 } + .party = {.NoItemDefaultMoves = sParty_Grunt47 } }, [TRAINER_GRUNT_48] = @@ -10174,7 +10174,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt48 } + .party = {.NoItemDefaultMoves = sParty_Grunt48 } }, [TRAINER_GRUNT_49] = @@ -10188,7 +10188,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt49 } + .party = {.NoItemDefaultMoves = sParty_Grunt49 } }, [TRAINER_GRUNT_50] = @@ -10202,7 +10202,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt50 } + .party = {.NoItemDefaultMoves = sParty_Grunt50 } }, [TRAINER_GRUNT_51] = @@ -10216,7 +10216,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt51 } + .party = {.NoItemDefaultMoves = sParty_Grunt51 } }, [TRAINER_GRUNT_52] = @@ -10230,7 +10230,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt52 } + .party = {.NoItemDefaultMoves = sParty_Grunt52 } }, [TRAINER_GRUNT_53] = @@ -10244,7 +10244,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Grunt53 } + .party = {.NoItemDefaultMoves = sParty_Grunt53 } }, [TRAINER_TABITHA_3] = @@ -10258,7 +10258,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, - .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha3 } + .party = {.NoItemDefaultMoves = sParty_Tabitha3 } }, [TRAINER_DARCY] = @@ -10272,7 +10272,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Darcy } + .party = {.NoItemDefaultMoves = sParty_Darcy } }, [TRAINER_MAXIE_3] = @@ -10286,7 +10286,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Maxie3 } + .party = {.NoItemDefaultMoves = sParty_Maxie3 } }, [TRAINER_PETE] = @@ -10300,7 +10300,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Pete } + .party = {.NoItemDefaultMoves = sParty_Pete } }, [TRAINER_ISABELLE] = @@ -10314,7 +10314,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Isabelle } + .party = {.NoItemDefaultMoves = sParty_Isabelle } }, [TRAINER_ANDRES_1] = @@ -10328,7 +10328,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres1 } + .party = {.NoItemDefaultMoves = sParty_Andres1 } }, [TRAINER_JOSUE] = @@ -10342,7 +10342,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Josue } + .party = {.NoItemDefaultMoves = sParty_Josue } }, [TRAINER_CAMRON] = @@ -10356,7 +10356,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Camron } + .party = {.NoItemDefaultMoves = sParty_Camron } }, [TRAINER_CORY_1] = @@ -10370,7 +10370,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory1 } + .party = {.NoItemDefaultMoves = sParty_Cory1 } }, [TRAINER_CAROLINA] = @@ -10384,7 +10384,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Carolina } + .party = {.NoItemDefaultMoves = sParty_Carolina } }, [TRAINER_ELIJAH] = @@ -10398,7 +10398,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Elijah } + .party = {.NoItemDefaultMoves = sParty_Elijah } }, [TRAINER_CELIA] = @@ -10412,7 +10412,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Celia } + .party = {.NoItemDefaultMoves = sParty_Celia } }, [TRAINER_BRYAN] = @@ -10426,7 +10426,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bryan } + .party = {.NoItemDefaultMoves = sParty_Bryan } }, [TRAINER_BRANDEN] = @@ -10440,7 +10440,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Branden } + .party = {.NoItemDefaultMoves = sParty_Branden } }, [TRAINER_BRYANT] = @@ -10454,7 +10454,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Bryant } + .party = {.NoItemDefaultMoves = sParty_Bryant } }, [TRAINER_SHAYLA] = @@ -10468,7 +10468,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Shayla } + .party = {.NoItemDefaultMoves = sParty_Shayla } }, [TRAINER_KYRA] = @@ -10482,7 +10482,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Kyra } + .party = {.NoItemDefaultMoves = sParty_Kyra } }, [TRAINER_JAIDEN] = @@ -10496,7 +10496,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Jaiden } + .party = {.NoItemDefaultMoves = sParty_Jaiden } }, [TRAINER_ALIX] = @@ -10510,7 +10510,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alix } + .party = {.NoItemDefaultMoves = sParty_Alix } }, [TRAINER_HELENE] = @@ -10524,7 +10524,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Helene } + .party = {.NoItemDefaultMoves = sParty_Helene } }, [TRAINER_MARLENE] = @@ -10538,7 +10538,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Marlene } + .party = {.NoItemDefaultMoves = sParty_Marlene } }, [TRAINER_DEVAN] = @@ -10552,7 +10552,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Devan } + .party = {.NoItemDefaultMoves = sParty_Devan } }, [TRAINER_JOHNSON] = @@ -10566,7 +10566,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Johnson } + .party = {.NoItemDefaultMoves = sParty_Johnson } }, [TRAINER_MELINA] = @@ -10580,7 +10580,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Melina } + .party = {.NoItemDefaultMoves = sParty_Melina } }, [TRAINER_BRANDI] = @@ -10594,7 +10594,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brandi } + .party = {.NoItemDefaultMoves = sParty_Brandi } }, [TRAINER_AISHA] = @@ -10608,7 +10608,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Aisha } + .party = {.NoItemDefaultMoves = sParty_Aisha } }, [TRAINER_MAKAYLA] = @@ -10622,7 +10622,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Makayla } + .party = {.NoItemDefaultMoves = sParty_Makayla } }, [TRAINER_FABIAN] = @@ -10636,7 +10636,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Fabian } + .party = {.NoItemDefaultMoves = sParty_Fabian } }, [TRAINER_DAYTON] = @@ -10650,7 +10650,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Dayton } + .party = {.NoItemDefaultMoves = sParty_Dayton } }, [TRAINER_RACHEL] = @@ -10664,7 +10664,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Rachel } + .party = {.NoItemDefaultMoves = sParty_Rachel } }, [TRAINER_LEONEL] = @@ -10678,7 +10678,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemCustomMoves = gTrainerParty_Leonel } + .party = {.NoItemCustomMoves = sParty_Leonel } }, [TRAINER_CALLIE] = @@ -10692,7 +10692,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Callie } + .party = {.NoItemDefaultMoves = sParty_Callie } }, [TRAINER_CALE] = @@ -10706,7 +10706,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cale } + .party = {.NoItemDefaultMoves = sParty_Cale } }, [TRAINER_MYLES] = @@ -10720,7 +10720,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Myles } + .party = {.NoItemDefaultMoves = sParty_Myles } }, [TRAINER_PAT] = @@ -10734,7 +10734,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Pat } + .party = {.NoItemDefaultMoves = sParty_Pat } }, [TRAINER_CRISTIN_1] = @@ -10748,7 +10748,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin1 } + .party = {.NoItemDefaultMoves = sParty_Cristin1 } }, [TRAINER_MAY_14] = @@ -10762,7 +10762,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May14 } + .party = {.NoItemDefaultMoves = sParty_May14 } }, [TRAINER_MAY_15] = @@ -10776,7 +10776,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_May15 } + .party = {.NoItemDefaultMoves = sParty_May15 } }, [TRAINER_ROXANNE_2] = @@ -10790,7 +10790,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne2 } + .party = {.ItemCustomMoves = sParty_Roxanne2 } }, [TRAINER_ROXANNE_3] = @@ -10804,7 +10804,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne3 } + .party = {.ItemCustomMoves = sParty_Roxanne3 } }, [TRAINER_ROXANNE_4] = @@ -10818,7 +10818,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne4 } + .party = {.ItemCustomMoves = sParty_Roxanne4 } }, [TRAINER_ROXANNE_5] = @@ -10832,7 +10832,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Roxanne5 } + .party = {.ItemCustomMoves = sParty_Roxanne5 } }, [TRAINER_BRAWLY_2] = @@ -10846,7 +10846,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Brawly2 } + .party = {.ItemCustomMoves = sParty_Brawly2 } }, [TRAINER_BRAWLY_3] = @@ -10860,7 +10860,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Brawly3 } + .party = {.ItemCustomMoves = sParty_Brawly3 } }, [TRAINER_BRAWLY_4] = @@ -10874,7 +10874,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Brawly4 } + .party = {.ItemCustomMoves = sParty_Brawly4 } }, [TRAINER_BRAWLY_5] = @@ -10888,7 +10888,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Brawly5 } + .party = {.ItemCustomMoves = sParty_Brawly5 } }, [TRAINER_WATTSON_2] = @@ -10902,7 +10902,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Wattson2 } + .party = {.ItemCustomMoves = sParty_Wattson2 } }, [TRAINER_WATTSON_3] = @@ -10916,7 +10916,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Wattson3 } + .party = {.ItemCustomMoves = sParty_Wattson3 } }, [TRAINER_WATTSON_4] = @@ -10930,7 +10930,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Wattson4 } + .party = {.ItemCustomMoves = sParty_Wattson4 } }, [TRAINER_WATTSON_5] = @@ -10944,7 +10944,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Wattson5 } + .party = {.ItemCustomMoves = sParty_Wattson5 } }, [TRAINER_FLANNERY_2] = @@ -10958,7 +10958,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Flannery2 } + .party = {.ItemCustomMoves = sParty_Flannery2 } }, [TRAINER_FLANNERY_3] = @@ -10972,7 +10972,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Flannery3 } + .party = {.ItemCustomMoves = sParty_Flannery3 } }, [TRAINER_FLANNERY_4] = @@ -10986,7 +10986,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Flannery4 } + .party = {.ItemCustomMoves = sParty_Flannery4 } }, [TRAINER_FLANNERY_5] = @@ -11000,7 +11000,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Flannery5 } + .party = {.ItemCustomMoves = sParty_Flannery5 } }, [TRAINER_NORMAN_2] = @@ -11014,7 +11014,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, - .party = {.ItemCustomMoves = gTrainerParty_Norman2 } + .party = {.ItemCustomMoves = sParty_Norman2 } }, [TRAINER_NORMAN_3] = @@ -11028,7 +11028,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Norman3 } + .party = {.ItemCustomMoves = sParty_Norman3 } }, [TRAINER_NORMAN_4] = @@ -11042,7 +11042,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Norman4 } + .party = {.ItemCustomMoves = sParty_Norman4 } }, [TRAINER_NORMAN_5] = @@ -11056,7 +11056,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Norman5 } + .party = {.ItemCustomMoves = sParty_Norman5 } }, [TRAINER_WINONA_2] = @@ -11070,7 +11070,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Winona2 } + .party = {.ItemCustomMoves = sParty_Winona2 } }, [TRAINER_WINONA_3] = @@ -11084,7 +11084,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona3 } + .party = {.ItemCustomMoves = sParty_Winona3 } }, [TRAINER_WINONA_4] = @@ -11098,7 +11098,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona4 } + .party = {.ItemCustomMoves = sParty_Winona4 } }, [TRAINER_WINONA_5] = @@ -11112,7 +11112,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Winona5 } + .party = {.ItemCustomMoves = sParty_Winona5 } }, [TRAINER_TATE_AND_LIZA_2] = @@ -11126,7 +11126,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza2 } + .party = {.ItemCustomMoves = sParty_TateAndLiza2 } }, [TRAINER_TATE_AND_LIZA_3] = @@ -11140,7 +11140,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza3 } + .party = {.ItemCustomMoves = sParty_TateAndLiza3 } }, [TRAINER_TATE_AND_LIZA_4] = @@ -11154,7 +11154,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza4 } + .party = {.ItemCustomMoves = sParty_TateAndLiza4 } }, [TRAINER_TATE_AND_LIZA_5] = @@ -11168,7 +11168,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza5 } + .party = {.ItemCustomMoves = sParty_TateAndLiza5 } }, [TRAINER_JUAN_2] = @@ -11182,7 +11182,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan2 } + .party = {.ItemCustomMoves = sParty_Juan2 } }, [TRAINER_JUAN_3] = @@ -11196,7 +11196,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, - .party = {.ItemCustomMoves = gTrainerParty_Juan3 } + .party = {.ItemCustomMoves = sParty_Juan3 } }, [TRAINER_JUAN_4] = @@ -11210,7 +11210,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Juan4 } + .party = {.ItemCustomMoves = sParty_Juan4 } }, [TRAINER_JUAN_5] = @@ -11224,7 +11224,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Juan5 } + .party = {.ItemCustomMoves = sParty_Juan5 } }, [TRAINER_ANGELO] = @@ -11238,7 +11238,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.ItemCustomMoves = gTrainerParty_Angelo } + .party = {.ItemCustomMoves = sParty_Angelo } }, [TRAINER_DARIUS] = @@ -11252,7 +11252,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Darius } + .party = {.NoItemDefaultMoves = sParty_Darius } }, [TRAINER_STEVEN] = @@ -11266,7 +11266,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, - .party = {.ItemCustomMoves = gTrainerParty_Steven } + .party = {.ItemCustomMoves = sParty_Steven } }, [TRAINER_ANABEL] = @@ -11280,7 +11280,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Anabel } + .party = {.NoItemDefaultMoves = sParty_Anabel } }, [TRAINER_TUCKER] = @@ -11294,7 +11294,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Tucker } + .party = {.NoItemDefaultMoves = sParty_Tucker } }, [TRAINER_SPENSER] = @@ -11308,7 +11308,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Spenser } + .party = {.NoItemDefaultMoves = sParty_Spenser } }, [TRAINER_GRETA] = @@ -11322,7 +11322,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Greta } + .party = {.NoItemDefaultMoves = sParty_Greta } }, [TRAINER_NOLAND] = @@ -11336,7 +11336,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Noland } + .party = {.NoItemDefaultMoves = sParty_Noland } }, [TRAINER_LUCY] = @@ -11350,7 +11350,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Lucy } + .party = {.NoItemDefaultMoves = sParty_Lucy } }, [TRAINER_BRANDON] = @@ -11364,7 +11364,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brandon } + .party = {.NoItemDefaultMoves = sParty_Brandon } }, [TRAINER_ANDRES_2] = @@ -11378,7 +11378,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres2 } + .party = {.NoItemDefaultMoves = sParty_Andres2 } }, [TRAINER_ANDRES_3] = @@ -11392,7 +11392,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres3 } + .party = {.NoItemDefaultMoves = sParty_Andres3 } }, [TRAINER_ANDRES_4] = @@ -11406,7 +11406,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres4 } + .party = {.NoItemDefaultMoves = sParty_Andres4 } }, [TRAINER_ANDRES_5] = @@ -11420,7 +11420,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Andres5 } + .party = {.NoItemDefaultMoves = sParty_Andres5 } }, [TRAINER_CORY_2] = @@ -11434,7 +11434,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory2 } + .party = {.NoItemDefaultMoves = sParty_Cory2 } }, [TRAINER_CORY_3] = @@ -11448,7 +11448,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory3 } + .party = {.NoItemDefaultMoves = sParty_Cory3 } }, [TRAINER_CORY_4] = @@ -11462,7 +11462,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory4 } + .party = {.NoItemDefaultMoves = sParty_Cory4 } }, [TRAINER_CORY_5] = @@ -11476,7 +11476,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cory5 } + .party = {.NoItemDefaultMoves = sParty_Cory5 } }, [TRAINER_PABLO_2] = @@ -11490,7 +11490,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo2 } + .party = {.NoItemDefaultMoves = sParty_Pablo2 } }, [TRAINER_PABLO_3] = @@ -11504,7 +11504,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo3 } + .party = {.NoItemDefaultMoves = sParty_Pablo3 } }, [TRAINER_PABLO_4] = @@ -11518,7 +11518,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo4 } + .party = {.NoItemDefaultMoves = sParty_Pablo4 } }, [TRAINER_PABLO_5] = @@ -11532,7 +11532,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Pablo5 } + .party = {.NoItemDefaultMoves = sParty_Pablo5 } }, [TRAINER_KOJI_2] = @@ -11546,7 +11546,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji2 } + .party = {.NoItemDefaultMoves = sParty_Koji2 } }, [TRAINER_KOJI_3] = @@ -11560,7 +11560,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji3 } + .party = {.NoItemDefaultMoves = sParty_Koji3 } }, [TRAINER_KOJI_4] = @@ -11574,7 +11574,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji4 } + .party = {.NoItemDefaultMoves = sParty_Koji4 } }, [TRAINER_KOJI_5] = @@ -11588,7 +11588,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Koji5 } + .party = {.NoItemDefaultMoves = sParty_Koji5 } }, [TRAINER_CRISTIN_2] = @@ -11602,7 +11602,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin2 } + .party = {.NoItemDefaultMoves = sParty_Cristin2 } }, [TRAINER_CRISTIN_3] = @@ -11616,7 +11616,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin3 } + .party = {.NoItemDefaultMoves = sParty_Cristin3 } }, [TRAINER_CRISTIN_4] = @@ -11630,7 +11630,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin4 } + .party = {.NoItemDefaultMoves = sParty_Cristin4 } }, [TRAINER_CRISTIN_5] = @@ -11644,7 +11644,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Cristin5 } + .party = {.NoItemDefaultMoves = sParty_Cristin5 } }, [TRAINER_FERNANDO_2] = @@ -11658,7 +11658,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando2 } + .party = {.NoItemDefaultMoves = sParty_Fernando2 } }, [TRAINER_FERNANDO_3] = @@ -11672,7 +11672,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando3 } + .party = {.NoItemDefaultMoves = sParty_Fernando3 } }, [TRAINER_FERNANDO_4] = @@ -11686,7 +11686,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando4 } + .party = {.NoItemDefaultMoves = sParty_Fernando4 } }, [TRAINER_FERNANDO_5] = @@ -11700,7 +11700,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Fernando5 } + .party = {.NoItemDefaultMoves = sParty_Fernando5 } }, [TRAINER_SAWYER_2] = @@ -11714,7 +11714,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer2 } + .party = {.NoItemDefaultMoves = sParty_Sawyer2 } }, [TRAINER_SAWYER_3] = @@ -11728,7 +11728,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer3 } + .party = {.NoItemDefaultMoves = sParty_Sawyer3 } }, [TRAINER_SAWYER_4] = @@ -11742,7 +11742,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer4 } + .party = {.NoItemDefaultMoves = sParty_Sawyer4 } }, [TRAINER_SAWYER_5] = @@ -11756,7 +11756,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer5 } + .party = {.NoItemDefaultMoves = sParty_Sawyer5 } }, [TRAINER_GABRIELLE_2] = @@ -11770,7 +11770,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle2 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle2 } }, [TRAINER_GABRIELLE_3] = @@ -11784,7 +11784,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle3 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle3 } }, [TRAINER_GABRIELLE_4] = @@ -11798,7 +11798,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle4 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle4 } }, [TRAINER_GABRIELLE_5] = @@ -11812,7 +11812,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, - .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle5 } + .party = {.NoItemDefaultMoves = sParty_Gabrielle5 } }, [TRAINER_THALIA_2] = @@ -11826,7 +11826,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia2 } + .party = {.NoItemDefaultMoves = sParty_Thalia2 } }, [TRAINER_THALIA_3] = @@ -11840,7 +11840,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia3 } + .party = {.NoItemDefaultMoves = sParty_Thalia3 } }, [TRAINER_THALIA_4] = @@ -11854,7 +11854,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia4 } + .party = {.NoItemDefaultMoves = sParty_Thalia4 } }, [TRAINER_THALIA_5] = @@ -11868,7 +11868,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, - .party = {.NoItemDefaultMoves = gTrainerParty_Thalia5 } + .party = {.NoItemDefaultMoves = sParty_Thalia5 } }, [TRAINER_MARIELA] = @@ -11882,7 +11882,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Mariela } + .party = {.NoItemDefaultMoves = sParty_Mariela } }, [TRAINER_ALVARO] = @@ -11896,7 +11896,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 2, - .party = {.NoItemDefaultMoves = gTrainerParty_Alvaro } + .party = {.NoItemDefaultMoves = sParty_Alvaro } }, [TRAINER_EVERETT] = @@ -11910,7 +11910,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Everett } + .party = {.NoItemDefaultMoves = sParty_Everett } }, [TRAINER_RED] = @@ -11924,7 +11924,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Red } + .party = {.NoItemDefaultMoves = sParty_Red } }, [TRAINER_LEAF] = @@ -11938,7 +11938,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Leaf } + .party = {.NoItemDefaultMoves = sParty_Leaf } }, [TRAINER_BRENDAN_16] = @@ -11952,7 +11952,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_Brendan16 } + .party = {.NoItemDefaultMoves = sParty_Brendan16 } }, [TRAINER_MAY_16] = @@ -11966,6 +11966,6 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 1, - .party = {.NoItemDefaultMoves = gTrainerParty_May16 } + .party = {.NoItemDefaultMoves = sParty_May16 } }, }; diff --git a/src/data/wild_encounters.h b/src/data/wild_encounters.h deleted file mode 100644 index d1f2eb616..000000000 --- a/src/data/wild_encounters.h +++ /dev/null @@ -1,4573 +0,0 @@ -// const rom data - -/*This file consists of several parts. - *First, the actual tables that define the available Pokemon and their level ranges. - *Second, the headers for each area that links the tables to the actual maps. - *Third, Battle Pyramid-specific tables and headers. - *Fourth, Battle Pike-specific tables and headers. - *And then finally, Feebas-related data. - *You can search for // to jump between the sections. - */ - - //Start of regular Pokemon tables. - -const struct WildPokemon gRoute101_LandMons[] = -{ - {2, 2, SPECIES_WURMPLE}, - {2, 2, SPECIES_POOCHYENA}, - {2, 2, SPECIES_WURMPLE}, - {3, 3, SPECIES_WURMPLE}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_WURMPLE}, - {3, 3, SPECIES_POOCHYENA}, - {2, 2, SPECIES_ZIGZAGOON}, - {2, 2, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, -}; - -const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons}; - -const struct WildPokemon gRoute102_LandMons[] = -{ - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_WURMPLE}, - {4, 4, SPECIES_POOCHYENA}, - {4, 4, SPECIES_WURMPLE}, - {3, 3, SPECIES_LOTAD}, - {4, 4, SPECIES_LOTAD}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_RALTS}, - {4, 4, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons}; - -const struct WildPokemon gRoute102_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons}; - -const struct WildPokemon gRoute102_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons}; - -const struct WildPokemon gRoute103_LandMons[] = -{ - {2, 2, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {3, 3, SPECIES_POOCHYENA}, - {4, 4, SPECIES_POOCHYENA}, - {2, 2, SPECIES_WINGULL}, - {3, 3, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_ZIGZAGOON}, - {4, 4, SPECIES_ZIGZAGOON}, - {3, 3, SPECIES_WINGULL}, - {3, 3, SPECIES_WINGULL}, - {2, 2, SPECIES_WINGULL}, - {4, 4, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons}; - -const struct WildPokemon gRoute103_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons}; - -const struct WildPokemon gRoute103_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons}; - -const struct WildPokemon gRoute104_LandMons[] = -{ - {4, 4, SPECIES_POOCHYENA}, - {4, 4, SPECIES_WURMPLE}, - {5, 5, SPECIES_POOCHYENA}, - {5, 5, SPECIES_MARILL}, - {4, 4, SPECIES_MARILL}, - {5, 5, SPECIES_POOCHYENA}, - {4, 4, SPECIES_TAILLOW}, - {5, 5, SPECIES_TAILLOW}, - {4, 4, SPECIES_WINGULL}, - {4, 4, SPECIES_WINGULL}, - {3, 3, SPECIES_WINGULL}, - {5, 5, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons}; - -const struct WildPokemon gRoute104_WaterMons[] = -{ - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons}; - -const struct WildPokemon gRoute104_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {20, 25, SPECIES_MAGIKARP}, - {35, 40, SPECIES_MAGIKARP}, - {40, 45, SPECIES_MAGIKARP}, -}; - -const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons}; - -const struct WildPokemon gRoute105_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons}; - -const struct WildPokemon gRoute105_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons}; - -const struct WildPokemon gRoute110_LandMons[] = -{ - {12, 12, SPECIES_POOCHYENA}, - {12, 12, SPECIES_ELECTRIKE}, - {12, 12, SPECIES_GULPIN}, - {13, 13, SPECIES_ELECTRIKE}, - {13, 13, SPECIES_MINUN}, - {13, 13, SPECIES_ODDISH}, - {13, 13, SPECIES_MINUN}, - {13, 13, SPECIES_GULPIN}, - {12, 12, SPECIES_WINGULL}, - {12, 12, SPECIES_WINGULL}, - {12, 12, SPECIES_PLUSLE}, - {13, 13, SPECIES_PLUSLE}, -}; - -const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons}; - -const struct WildPokemon gRoute110_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons}; - -const struct WildPokemon gRoute110_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons}; - -const struct WildPokemon gRoute111_LandMons[] = -{ - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {19, 19, SPECIES_BALTOY}, - {21, 21, SPECIES_BALTOY}, - {19, 19, SPECIES_SANDSHREW}, - {19, 19, SPECIES_TRAPINCH}, - {20, 20, SPECIES_BALTOY}, - {20, 20, SPECIES_CACNEA}, - {22, 22, SPECIES_CACNEA}, - {22, 22, SPECIES_CACNEA}, -}; - -const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons}; - -const struct WildPokemon gRoute111_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons}; - -const struct WildPokemon gRoute111_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons}; - -const struct WildPokemon gRoute111_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons}; - -const struct WildPokemon gRoute112_LandMons[] = -{ - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_MARILL}, - {14, 14, SPECIES_NUMEL}, - {14, 14, SPECIES_NUMEL}, - {14, 14, SPECIES_MARILL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_MARILL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, - {16, 16, SPECIES_NUMEL}, -}; - -const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons}; - -const struct WildPokemon gRoute113_LandMons[] = -{ - {15, 15, SPECIES_SPINDA}, - {15, 15, SPECIES_SPINDA}, - {15, 15, SPECIES_SLUGMA}, - {14, 14, SPECIES_SPINDA}, - {14, 14, SPECIES_SPINDA}, - {14, 14, SPECIES_SLUGMA}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SLUGMA}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SKARMORY}, - {16, 16, SPECIES_SPINDA}, - {16, 16, SPECIES_SKARMORY}, -}; - -const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons}; - -const struct WildPokemon gRoute114_LandMons[] = -{ - {16, 16, SPECIES_SWABLU}, - {16, 16, SPECIES_LOTAD}, - {17, 17, SPECIES_SWABLU}, - {15, 15, SPECIES_SWABLU}, - {15, 15, SPECIES_LOTAD}, - {16, 16, SPECIES_LOMBRE}, - {16, 16, SPECIES_LOMBRE}, - {18, 18, SPECIES_LOMBRE}, - {17, 17, SPECIES_SEVIPER}, - {15, 15, SPECIES_SEVIPER}, - {17, 17, SPECIES_SEVIPER}, - {15, 15, SPECIES_NUZLEAF}, -}; - -const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons}; - -const struct WildPokemon gRoute114_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons}; - -const struct WildPokemon gRoute114_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons}; - -const struct WildPokemon gRoute114_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons}; - -const struct WildPokemon gRoute116_LandMons[] = -{ - {6, 6, SPECIES_POOCHYENA}, - {6, 6, SPECIES_WHISMUR}, - {6, 6, SPECIES_NINCADA}, - {7, 7, SPECIES_ABRA}, - {7, 7, SPECIES_NINCADA}, - {6, 6, SPECIES_TAILLOW}, - {7, 7, SPECIES_TAILLOW}, - {8, 8, SPECIES_TAILLOW}, - {7, 7, SPECIES_POOCHYENA}, - {8, 8, SPECIES_POOCHYENA}, - {7, 7, SPECIES_SKITTY}, - {8, 8, SPECIES_SKITTY}, -}; - -const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons}; - -const struct WildPokemon gRoute117_LandMons[] = -{ - {13, 13, SPECIES_POOCHYENA}, - {13, 13, SPECIES_ODDISH}, - {14, 14, SPECIES_POOCHYENA}, - {14, 14, SPECIES_ODDISH}, - {13, 13, SPECIES_MARILL}, - {13, 13, SPECIES_ODDISH}, - {13, 13, SPECIES_ILLUMISE}, - {13, 13, SPECIES_ILLUMISE}, - {14, 14, SPECIES_ILLUMISE}, - {14, 14, SPECIES_ILLUMISE}, - {13, 13, SPECIES_VOLBEAT}, - {13, 13, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons}; - -const struct WildPokemon gRoute117_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons}; - -const struct WildPokemon gRoute117_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons}; - -const struct WildPokemon gRoute118_LandMons[] = -{ - {24, 24, SPECIES_ZIGZAGOON}, - {24, 24, SPECIES_ELECTRIKE}, - {26, 26, SPECIES_ZIGZAGOON}, - {26, 26, SPECIES_ELECTRIKE}, - {26, 26, SPECIES_LINOONE}, - {26, 26, SPECIES_MANECTRIC}, - {25, 25, SPECIES_WINGULL}, - {25, 25, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons}; - -const struct WildPokemon gRoute118_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons}; - -const struct WildPokemon gRoute118_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_CARVANHA}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_CARVANHA}, - {20, 25, SPECIES_CARVANHA}, - {35, 40, SPECIES_CARVANHA}, - {40, 45, SPECIES_CARVANHA}, -}; - -const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons}; - -const struct WildPokemon gRoute124_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons}; - -const struct WildPokemon gRoute124_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons}; - -const struct WildPokemon gPetalburgWoods_LandMons[] = -{ - {5, 5, SPECIES_POOCHYENA}, - {5, 5, SPECIES_WURMPLE}, - {5, 5, SPECIES_SHROOMISH}, - {6, 6, SPECIES_POOCHYENA}, - {5, 5, SPECIES_SILCOON}, - {5, 5, SPECIES_CASCOON}, - {6, 6, SPECIES_WURMPLE}, - {6, 6, SPECIES_SHROOMISH}, - {5, 5, SPECIES_TAILLOW}, - {5, 5, SPECIES_SLAKOTH}, - {6, 6, SPECIES_TAILLOW}, - {6, 6, SPECIES_SLAKOTH}, -}; - -const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons}; - -const struct WildPokemon gRusturfTunnel_LandMons[] = -{ - {6, 6, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {6, 6, SPECIES_WHISMUR}, - {6, 6, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {7, 7, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, - {5, 5, SPECIES_WHISMUR}, - {8, 8, SPECIES_WHISMUR}, -}; - -const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons}; - -const struct WildPokemon gGraniteCave_1F_LandMons[] = -{ - {7, 7, SPECIES_ZUBAT}, - {8, 8, SPECIES_MAKUHITA}, - {7, 7, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ZUBAT}, - {9, 9, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {6, 6, SPECIES_MAKUHITA}, - {7, 7, SPECIES_GEODUDE}, - {8, 8, SPECIES_GEODUDE}, - {6, 6, SPECIES_GEODUDE}, - {9, 9, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons}; - -const struct WildPokemon gGraniteCave_B1F_LandMons[] = -{ - {9, 9, SPECIES_ZUBAT}, - {10, 10, SPECIES_ARON}, - {9, 9, SPECIES_ARON}, - {11, 11, SPECIES_ARON}, - {10, 10, SPECIES_ZUBAT}, - {9, 9, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {11, 11, SPECIES_MAKUHITA}, - {10, 10, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, - {9, 9, SPECIES_SABLEYE}, - {11, 11, SPECIES_SABLEYE}, -}; - -const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons}; - -const struct WildPokemon gMtPyre_1F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons}; - -const struct WildPokemon gVictoryRoad_1F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_HARIYAMA}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LOUDRED}, - {36, 36, SPECIES_ZUBAT}, - {36, 36, SPECIES_MAKUHITA}, - {38, 38, SPECIES_GOLBAT}, - {38, 38, SPECIES_HARIYAMA}, - {36, 36, SPECIES_ARON}, - {36, 36, SPECIES_WHISMUR}, - {36, 36, SPECIES_ARON}, - {36, 36, SPECIES_WHISMUR}, -}; - -const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons}; - -const struct WildPokemon gSafariZone_South_LandMons[] = -{ - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {25, 25, SPECIES_GIRAFARIG}, - {27, 27, SPECIES_GIRAFARIG}, - {25, 25, SPECIES_NATU}, - {25, 25, SPECIES_DODUO}, - {25, 25, SPECIES_GLOOM}, - {27, 27, SPECIES_WOBBUFFET}, - {25, 25, SPECIES_PIKACHU}, - {27, 27, SPECIES_WOBBUFFET}, - {27, 27, SPECIES_PIKACHU}, - {29, 29, SPECIES_WOBBUFFET}, -}; - -const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons}; - -const struct WildPokemon gUnderwater2_WaterMons[] = -{ - {20, 30, SPECIES_CLAMPERL}, - {20, 30, SPECIES_CHINCHOU}, - {30, 35, SPECIES_CLAMPERL}, - {30, 35, SPECIES_RELICANTH}, - {30, 35, SPECIES_RELICANTH}, -}; - -const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons}; - -const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons}; - -const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_TENTACOOL}, - {25, 30, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, - {25, 30, SPECIES_TENTACRUEL}, - {20, 25, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons}; - -const struct WildPokemon gGraniteCave_B2F_LandMons[] = -{ - {10, 10, SPECIES_ZUBAT}, - {11, 11, SPECIES_ARON}, - {10, 10, SPECIES_ARON}, - {11, 11, SPECIES_ZUBAT}, - {12, 12, SPECIES_ARON}, - {10, 10, SPECIES_ABRA}, - {10, 10, SPECIES_SABLEYE}, - {11, 11, SPECIES_SABLEYE}, - {12, 12, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, - {12, 12, SPECIES_SABLEYE}, - {10, 10, SPECIES_SABLEYE}, -}; - -const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons}; - -const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {10, 20, SPECIES_NOSEPASS}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons}; - -const struct WildPokemon gFieryPath_LandMons[] = -{ - {15, 15, SPECIES_NUMEL}, - {15, 15, SPECIES_KOFFING}, - {16, 16, SPECIES_NUMEL}, - {15, 15, SPECIES_MACHOP}, - {15, 15, SPECIES_TORKOAL}, - {15, 15, SPECIES_SLUGMA}, - {16, 16, SPECIES_KOFFING}, - {16, 16, SPECIES_MACHOP}, - {14, 14, SPECIES_TORKOAL}, - {16, 16, SPECIES_TORKOAL}, - {14, 14, SPECIES_GRIMER}, - {14, 14, SPECIES_GRIMER}, -}; - -const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {30, 30, SPECIES_BAGON}, - {35, 35, SPECIES_SOLROCK}, - {35, 35, SPECIES_BAGON}, - {37, 37, SPECIES_SOLROCK}, - {25, 25, SPECIES_BAGON}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons}; - -const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons}; - -const struct WildPokemon gJaggedPass_LandMons[] = -{ - {21, 21, SPECIES_NUMEL}, - {21, 21, SPECIES_NUMEL}, - {21, 21, SPECIES_MACHOP}, - {20, 20, SPECIES_NUMEL}, - {20, 20, SPECIES_SPOINK}, - {20, 20, SPECIES_MACHOP}, - {21, 21, SPECIES_SPOINK}, - {22, 22, SPECIES_MACHOP}, - {22, 22, SPECIES_NUMEL}, - {22, 22, SPECIES_SPOINK}, - {22, 22, SPECIES_NUMEL}, - {22, 22, SPECIES_SPOINK}, -}; - -const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons}; - -const struct WildPokemon gRoute106_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons}; - -const struct WildPokemon gRoute106_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons}; - -const struct WildPokemon gRoute107_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons}; - -const struct WildPokemon gRoute107_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons}; - -const struct WildPokemon gRoute108_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons}; - -const struct WildPokemon gRoute108_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons}; - -const struct WildPokemon gRoute109_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons}; - -const struct WildPokemon gRoute109_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons}; - -const struct WildPokemon gRoute115_LandMons[] = -{ - {23, 23, SPECIES_SWABLU}, - {23, 23, SPECIES_TAILLOW}, - {25, 25, SPECIES_SWABLU}, - {24, 24, SPECIES_TAILLOW}, - {25, 25, SPECIES_TAILLOW}, - {25, 25, SPECIES_SWELLOW}, - {24, 24, SPECIES_JIGGLYPUFF}, - {25, 25, SPECIES_JIGGLYPUFF}, - {24, 24, SPECIES_WINGULL}, - {24, 24, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {25, 25, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons}; - -const struct WildPokemon gRoute115_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons}; - -const struct WildPokemon gRoute115_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons}; - -const struct WildPokemon gNewMauville_Inside_LandMons[] = -{ - {24, 24, SPECIES_VOLTORB}, - {24, 24, SPECIES_MAGNEMITE}, - {25, 25, SPECIES_VOLTORB}, - {25, 25, SPECIES_MAGNEMITE}, - {23, 23, SPECIES_VOLTORB}, - {23, 23, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_VOLTORB}, - {26, 26, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_ELECTRODE}, - {26, 26, SPECIES_MAGNETON}, -}; - -const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons}; - -const struct WildPokemon gRoute119_LandMons[] = -{ - {25, 25, SPECIES_ZIGZAGOON}, - {25, 25, SPECIES_LINOONE}, - {27, 27, SPECIES_ZIGZAGOON}, - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_LINOONE}, - {26, 26, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {24, 24, SPECIES_ODDISH}, - {25, 25, SPECIES_TROPIUS}, - {26, 26, SPECIES_TROPIUS}, - {27, 27, SPECIES_TROPIUS}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons}; - -const struct WildPokemon gRoute119_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons}; - -const struct WildPokemon gRoute119_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_CARVANHA}, - {25, 30, SPECIES_CARVANHA}, - {30, 35, SPECIES_CARVANHA}, - {20, 25, SPECIES_CARVANHA}, - {35, 40, SPECIES_CARVANHA}, - {40, 45, SPECIES_CARVANHA}, -}; - -const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons}; - -const struct WildPokemon gRoute120_LandMons[] = -{ - {25, 25, SPECIES_POOCHYENA}, - {25, 25, SPECIES_MIGHTYENA}, - {27, 27, SPECIES_MIGHTYENA}, - {25, 25, SPECIES_ODDISH}, - {25, 25, SPECIES_MARILL}, - {26, 26, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {27, 27, SPECIES_MARILL}, - {25, 25, SPECIES_ABSOL}, - {27, 27, SPECIES_ABSOL}, - {25, 25, SPECIES_KECLEON}, - {25, 25, SPECIES_SEEDOT}, -}; - -const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons}; - -const struct WildPokemon gRoute120_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {20, 30, SPECIES_GOLDEEN}, -}; - -const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons}; - -const struct WildPokemon gRoute120_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons}; - -const struct WildPokemon gRoute121_LandMons[] = -{ - {26, 26, SPECIES_POOCHYENA}, - {26, 26, SPECIES_SHUPPET}, - {26, 26, SPECIES_MIGHTYENA}, - {28, 28, SPECIES_SHUPPET}, - {28, 28, SPECIES_MIGHTYENA}, - {26, 26, SPECIES_ODDISH}, - {28, 28, SPECIES_ODDISH}, - {28, 28, SPECIES_GLOOM}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons}; - -const struct WildPokemon gRoute121_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons}; - -const struct WildPokemon gRoute121_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons}; - -const struct WildPokemon gRoute122_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons}; - -const struct WildPokemon gRoute122_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons}; - -const struct WildPokemon gRoute123_LandMons[] = -{ - {26, 26, SPECIES_POOCHYENA}, - {26, 26, SPECIES_SHUPPET}, - {26, 26, SPECIES_MIGHTYENA}, - {28, 28, SPECIES_SHUPPET}, - {28, 28, SPECIES_MIGHTYENA}, - {26, 26, SPECIES_ODDISH}, - {28, 28, SPECIES_ODDISH}, - {28, 28, SPECIES_GLOOM}, - {26, 26, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, - {25, 25, SPECIES_KECLEON}, -}; - -const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons}; - -const struct WildPokemon gRoute123_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons}; - -const struct WildPokemon gRoute123_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons}; - -const struct WildPokemon gMtPyre_2F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons}; - -const struct WildPokemon gMtPyre_3F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, -}; - -const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons}; - -const struct WildPokemon gMtPyre_4F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons}; - -const struct WildPokemon gMtPyre_5F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons}; - -const struct WildPokemon gMtPyre_6F_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {23, 23, SPECIES_SHUPPET}, - {22, 22, SPECIES_SHUPPET}, - {27, 27, SPECIES_DUSKULL}, - {27, 27, SPECIES_DUSKULL}, - {25, 25, SPECIES_DUSKULL}, - {29, 29, SPECIES_DUSKULL}, -}; - -const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons}; - -const struct WildPokemon gMtPyre_Exterior_LandMons[] = -{ - {27, 27, SPECIES_SHUPPET}, - {27, 27, SPECIES_SHUPPET}, - {28, 28, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {29, 29, SPECIES_VULPIX}, - {27, 27, SPECIES_VULPIX}, - {29, 29, SPECIES_VULPIX}, - {25, 25, SPECIES_VULPIX}, - {27, 27, SPECIES_WINGULL}, - {27, 27, SPECIES_WINGULL}, - {26, 26, SPECIES_WINGULL}, - {28, 28, SPECIES_WINGULL}, -}; - -const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons}; - -const struct WildPokemon gMtPyre_Summit_LandMons[] = -{ - {28, 28, SPECIES_SHUPPET}, - {29, 29, SPECIES_SHUPPET}, - {27, 27, SPECIES_SHUPPET}, - {26, 26, SPECIES_SHUPPET}, - {30, 30, SPECIES_SHUPPET}, - {25, 25, SPECIES_SHUPPET}, - {24, 24, SPECIES_SHUPPET}, - {28, 28, SPECIES_DUSKULL}, - {26, 26, SPECIES_DUSKULL}, - {30, 30, SPECIES_DUSKULL}, - {28, 28, SPECIES_CHIMECHO}, - {28, 28, SPECIES_CHIMECHO}, -}; - -const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons}; - -const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] = -{ - {7, 7, SPECIES_ZUBAT}, - {8, 8, SPECIES_MAKUHITA}, - {7, 7, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ZUBAT}, - {9, 9, SPECIES_MAKUHITA}, - {8, 8, SPECIES_ABRA}, - {10, 10, SPECIES_MAKUHITA}, - {6, 6, SPECIES_MAKUHITA}, - {7, 7, SPECIES_ARON}, - {8, 8, SPECIES_ARON}, - {7, 7, SPECIES_ARON}, - {8, 8, SPECIES_ARON}, -}; - -const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons}; - -const struct WildPokemon gRoute125_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons}; - -const struct WildPokemon gRoute125_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons}; - -const struct WildPokemon gRoute126_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons}; - -const struct WildPokemon gRoute126_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons}; - -const struct WildPokemon gRoute127_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons}; - -const struct WildPokemon gRoute127_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons}; - -const struct WildPokemon gRoute128_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons}; - -const struct WildPokemon gRoute128_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_LUVDISC}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_LUVDISC}, - {30, 35, SPECIES_WAILMER}, - {30, 35, SPECIES_CORSOLA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons}; - -const struct WildPokemon gRoute129_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_WAILORD}, -}; - -const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons}; - -const struct WildPokemon gRoute129_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons}; - -const struct WildPokemon gRoute130_LandMons[] = -{ - {30, 30, SPECIES_WYNAUT}, - {35, 35, SPECIES_WYNAUT}, - {25, 25, SPECIES_WYNAUT}, - {40, 40, SPECIES_WYNAUT}, - {20, 20, SPECIES_WYNAUT}, - {45, 45, SPECIES_WYNAUT}, - {15, 15, SPECIES_WYNAUT}, - {50, 50, SPECIES_WYNAUT}, - {10, 10, SPECIES_WYNAUT}, - {5, 5, SPECIES_WYNAUT}, - {10, 10, SPECIES_WYNAUT}, - {5, 5, SPECIES_WYNAUT}, -}; - -const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons}; - -const struct WildPokemon gRoute130_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons}; - -const struct WildPokemon gRoute130_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons}; - -const struct WildPokemon gRoute131_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons}; - -const struct WildPokemon gRoute131_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons}; - -const struct WildPokemon gRoute132_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons}; - -const struct WildPokemon gRoute132_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons}; - -const struct WildPokemon gRoute133_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons}; - -const struct WildPokemon gRoute133_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons}; - -const struct WildPokemon gRoute134_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons}; - -const struct WildPokemon gRoute134_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_HORSEA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons}; - -const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons}; - -const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_TENTACOOL}, - {25, 30, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACOOL}, - {30, 35, SPECIES_TENTACRUEL}, - {25, 30, SPECIES_TENTACRUEL}, - {20, 25, SPECIES_TENTACRUEL}, -}; - -const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room1_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room2_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room3_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room4_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room5_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room6_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room7_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons}; - -const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons}; - -const struct WildPokemon gSeafloorCavern_Room8_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons}; - -const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons}; - -const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons}; - -const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {33, 33, SPECIES_ZUBAT}, - {28, 28, SPECIES_ZUBAT}, - {29, 29, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {35, 35, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons}; - -const struct WildPokemon gCaveOfOrigin_1F_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons}; - -const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] = -{ - {30, 30, SPECIES_ZUBAT}, - {31, 31, SPECIES_ZUBAT}, - {32, 32, SPECIES_ZUBAT}, - {30, 30, SPECIES_SABLEYE}, - {32, 32, SPECIES_SABLEYE}, - {34, 34, SPECIES_SABLEYE}, - {33, 33, SPECIES_ZUBAT}, - {34, 34, SPECIES_ZUBAT}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {36, 36, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons}; - -const struct WildPokemon gNewMauville_Entrance_LandMons[] = -{ - {24, 24, SPECIES_VOLTORB}, - {24, 24, SPECIES_MAGNEMITE}, - {25, 25, SPECIES_VOLTORB}, - {25, 25, SPECIES_MAGNEMITE}, - {23, 23, SPECIES_VOLTORB}, - {23, 23, SPECIES_MAGNEMITE}, - {26, 26, SPECIES_VOLTORB}, - {26, 26, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, - {22, 22, SPECIES_VOLTORB}, - {22, 22, SPECIES_MAGNEMITE}, -}; - -const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons}; - -const struct WildPokemon gSafariZone_Southwest_LandMons[] = -{ - {25, 25, SPECIES_ODDISH}, - {27, 27, SPECIES_ODDISH}, - {25, 25, SPECIES_GIRAFARIG}, - {27, 27, SPECIES_GIRAFARIG}, - {25, 25, SPECIES_NATU}, - {27, 27, SPECIES_DODUO}, - {25, 25, SPECIES_GLOOM}, - {27, 27, SPECIES_WOBBUFFET}, - {25, 25, SPECIES_PIKACHU}, - {27, 27, SPECIES_WOBBUFFET}, - {27, 27, SPECIES_PIKACHU}, - {29, 29, SPECIES_WOBBUFFET}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons}; - -const struct WildPokemon gSafariZone_Southwest_WaterMons[] = -{ - {20, 30, SPECIES_PSYDUCK}, - {20, 30, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons}; - -const struct WildPokemon gSafariZone_Southwest_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 25, SPECIES_GOLDEEN}, - {10, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_GOLDEEN}, - {30, 35, SPECIES_SEAKING}, - {35, 40, SPECIES_SEAKING}, - {25, 30, SPECIES_SEAKING}, -}; - -const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons}; - -const struct WildPokemon gSafariZone_North_LandMons[] = -{ - {27, 27, SPECIES_PHANPY}, - {27, 27, SPECIES_ODDISH}, - {29, 29, SPECIES_PHANPY}, - {29, 29, SPECIES_ODDISH}, - {27, 27, SPECIES_NATU}, - {29, 29, SPECIES_GLOOM}, - {31, 31, SPECIES_GLOOM}, - {29, 29, SPECIES_NATU}, - {29, 29, SPECIES_XATU}, - {27, 27, SPECIES_HERACROSS}, - {31, 31, SPECIES_XATU}, - {29, 29, SPECIES_HERACROSS}, -}; - -const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons}; - -const struct WildPokemon gSafariZone_North_RockSmashMons[] = -{ - {10, 15, SPECIES_GEODUDE}, - {5, 10, SPECIES_GEODUDE}, - {15, 20, SPECIES_GEODUDE}, - {20, 25, SPECIES_GEODUDE}, - {25, 30, SPECIES_GEODUDE}, -}; - -const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons}; - -const struct WildPokemon gSafariZone_Northwest_LandMons[] = -{ - {27, 27, SPECIES_RHYHORN}, - {27, 27, SPECIES_ODDISH}, - {29, 29, SPECIES_RHYHORN}, - {29, 29, SPECIES_ODDISH}, - {27, 27, SPECIES_DODUO}, - {29, 29, SPECIES_GLOOM}, - {31, 31, SPECIES_GLOOM}, - {29, 29, SPECIES_DODUO}, - {29, 29, SPECIES_DODRIO}, - {27, 27, SPECIES_PINSIR}, - {31, 31, SPECIES_DODRIO}, - {29, 29, SPECIES_PINSIR}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons}; - -const struct WildPokemon gSafariZone_Northwest_WaterMons[] = -{ - {20, 30, SPECIES_PSYDUCK}, - {20, 30, SPECIES_PSYDUCK}, - {30, 35, SPECIES_PSYDUCK}, - {30, 35, SPECIES_GOLDUCK}, - {25, 40, SPECIES_GOLDUCK}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons}; - -const struct WildPokemon gSafariZone_Northwest_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 25, SPECIES_GOLDEEN}, - {10, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_GOLDEEN}, - {30, 35, SPECIES_SEAKING}, - {35, 40, SPECIES_SEAKING}, - {25, 30, SPECIES_SEAKING}, -}; - -const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons}; - -const struct WildPokemon gVictoryRoad_B1F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_HARIYAMA}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LAIRON}, - {38, 38, SPECIES_GOLBAT}, - {38, 38, SPECIES_HARIYAMA}, - {42, 42, SPECIES_GOLBAT}, - {42, 42, SPECIES_HARIYAMA}, - {42, 42, SPECIES_LAIRON}, - {38, 38, SPECIES_MAWILE}, - {42, 42, SPECIES_LAIRON}, - {38, 38, SPECIES_MAWILE}, -}; - -const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons}; - -const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] = -{ - {30, 40, SPECIES_GRAVELER}, - {30, 40, SPECIES_GEODUDE}, - {35, 40, SPECIES_GRAVELER}, - {35, 40, SPECIES_GRAVELER}, - {35, 40, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons}; - -const struct WildPokemon gVictoryRoad_B2F_LandMons[] = -{ - {40, 40, SPECIES_GOLBAT}, - {40, 40, SPECIES_SABLEYE}, - {40, 40, SPECIES_LAIRON}, - {40, 40, SPECIES_LAIRON}, - {42, 42, SPECIES_GOLBAT}, - {42, 42, SPECIES_SABLEYE}, - {44, 44, SPECIES_GOLBAT}, - {44, 44, SPECIES_SABLEYE}, - {42, 42, SPECIES_LAIRON}, - {42, 42, SPECIES_MAWILE}, - {44, 44, SPECIES_LAIRON}, - {44, 44, SPECIES_MAWILE}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons}; - -const struct WildPokemon gVictoryRoad_B2F_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {25, 30, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, - {35, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons}; - -const struct WildPokemon gVictoryRoad_B2F_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] = -{ - {16, 16, SPECIES_ZUBAT}, - {17, 17, SPECIES_ZUBAT}, - {18, 18, SPECIES_ZUBAT}, - {15, 15, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {16, 16, SPECIES_SOLROCK}, - {18, 18, SPECIES_SOLROCK}, - {14, 14, SPECIES_SOLROCK}, - {19, 19, SPECIES_ZUBAT}, - {20, 20, SPECIES_ZUBAT}, - {19, 19, SPECIES_ZUBAT}, - {20, 20, SPECIES_ZUBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] = -{ - {5, 35, SPECIES_ZUBAT}, - {30, 35, SPECIES_ZUBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons}; - -const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {20, 25, SPECIES_BARBOACH}, - {35, 40, SPECIES_BARBOACH}, - {40, 45, SPECIES_BARBOACH}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons}; - -const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] = -{ - {30, 35, SPECIES_GOLBAT}, - {30, 35, SPECIES_GOLBAT}, - {25, 35, SPECIES_SOLROCK}, - {15, 25, SPECIES_SOLROCK}, - {5, 15, SPECIES_SOLROCK}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons}; - -const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_BARBOACH}, - {25, 30, SPECIES_BARBOACH}, - {30, 35, SPECIES_BARBOACH}, - {30, 35, SPECIES_WHISCASH}, - {35, 40, SPECIES_WHISCASH}, - {40, 45, SPECIES_WHISCASH}, -}; - -const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons}; - -const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {25, 30, SPECIES_SPHEAL}, - {25, 30, SPECIES_SPHEAL}, - {25, 35, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {32, 32, SPECIES_ZUBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, - {32, 32, SPECIES_GOLBAT}, - {32, 32, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {5, 35, SPECIES_ZUBAT}, - {25, 30, SPECIES_SPHEAL}, - {25, 30, SPECIES_SPHEAL}, - {25, 35, SPECIES_SPHEAL}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons}; - -const struct WildPokemon gLilycoveCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons}; - -const struct WildPokemon gLilycoveCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_STARYU}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons}; - -const struct WildPokemon gDewfordTown_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons}; - -const struct WildPokemon gDewfordTown_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons}; - -const struct WildPokemon gSlateportCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons}; - -const struct WildPokemon gSlateportCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_WAILMER}, - {20, 25, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons}; - -const struct WildPokemon gMossdeepCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons}; - -const struct WildPokemon gMossdeepCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons}; - -const struct WildPokemon gPacifidlogTown_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons}; - -const struct WildPokemon gPacifidlogTown_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_SHARPEDO}, - {30, 35, SPECIES_WAILMER}, - {25, 30, SPECIES_WAILMER}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons}; - -const struct WildPokemon gEverGrandeCity_WaterMons[] = -{ - {5, 35, SPECIES_TENTACOOL}, - {10, 30, SPECIES_WINGULL}, - {15, 25, SPECIES_WINGULL}, - {25, 30, SPECIES_PELIPPER}, - {25, 30, SPECIES_PELIPPER}, -}; - -const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons}; - -const struct WildPokemon gEverGrandeCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_LUVDISC}, - {10, 30, SPECIES_WAILMER}, - {30, 35, SPECIES_LUVDISC}, - {30, 35, SPECIES_WAILMER}, - {30, 35, SPECIES_CORSOLA}, - {35, 40, SPECIES_WAILMER}, - {40, 45, SPECIES_WAILMER}, -}; - -const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons}; - -const struct WildPokemon gPetalburgCity_WaterMons[] = -{ - {20, 30, SPECIES_MARILL}, - {10, 20, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, - {5, 10, SPECIES_MARILL}, -}; - -const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons}; - -const struct WildPokemon gPetalburgCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_GOLDEEN}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_GOLDEEN}, - {10, 30, SPECIES_CORPHISH}, - {25, 30, SPECIES_CORPHISH}, - {30, 35, SPECIES_CORPHISH}, - {20, 25, SPECIES_CORPHISH}, - {35, 40, SPECIES_CORPHISH}, - {40, 45, SPECIES_CORPHISH}, -}; - -const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons}; - -const struct WildPokemon gUnderwater1_WaterMons[] = -{ - {20, 30, SPECIES_CLAMPERL}, - {20, 30, SPECIES_CHINCHOU}, - {30, 35, SPECIES_CLAMPERL}, - {30, 35, SPECIES_RELICANTH}, - {30, 35, SPECIES_RELICANTH}, -}; - -const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons}; - -const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] = -{ - {26, 26, SPECIES_ZUBAT}, - {26, 26, SPECIES_SPHEAL}, - {28, 28, SPECIES_ZUBAT}, - {28, 28, SPECIES_SPHEAL}, - {30, 30, SPECIES_ZUBAT}, - {30, 30, SPECIES_SPHEAL}, - {26, 26, SPECIES_SNORUNT}, - {32, 32, SPECIES_SPHEAL}, - {30, 30, SPECIES_GOLBAT}, - {28, 28, SPECIES_SNORUNT}, - {32, 32, SPECIES_GOLBAT}, - {30, 30, SPECIES_SNORUNT}, -}; - -const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons}; - -const struct WildPokemon gSkyPillar_1F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, -}; - -const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons}; - -const struct WildPokemon gSootopolisCity_WaterMons[] = -{ - {5, 35, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {15, 25, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_MAGIKARP}, -}; - -const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons}; - -const struct WildPokemon gSootopolisCity_FishingMons[] = -{ - {5, 10, SPECIES_MAGIKARP}, - {5, 10, SPECIES_TENTACOOL}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {10, 30, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {30, 35, SPECIES_MAGIKARP}, - {35, 40, SPECIES_GYARADOS}, - {35, 45, SPECIES_GYARADOS}, - {5, 45, SPECIES_GYARADOS}, -}; - -const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons}; - -const struct WildPokemon gSkyPillar_3F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_CLAYDOL}, -}; - -const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons}; - -const struct WildPokemon gSkyPillar_5F_LandMons[] = -{ - {33, 33, SPECIES_SABLEYE}, - {34, 34, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {34, 34, SPECIES_SABLEYE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_BANETTE}, - {38, 38, SPECIES_BANETTE}, - {36, 36, SPECIES_CLAYDOL}, - {37, 37, SPECIES_CLAYDOL}, - {38, 38, SPECIES_ALTARIA}, - {39, 39, SPECIES_ALTARIA}, - {39, 39, SPECIES_ALTARIA}, -}; - -const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons}; - -const struct WildPokemon gSafariZone_Southeast_LandMons[] = -{ - {33, 33, SPECIES_SUNKERN}, - {34, 34, SPECIES_MAREEP}, - {35, 35, SPECIES_SUNKERN}, - {36, 36, SPECIES_MAREEP}, - {34, 34, SPECIES_AIPOM}, - {33, 33, SPECIES_SPINARAK}, - {35, 35, SPECIES_HOOTHOOT}, - {34, 34, SPECIES_SNUBBULL}, - {36, 36, SPECIES_STANTLER}, - {37, 37, SPECIES_GLIGAR}, - {39, 39, SPECIES_STANTLER}, - {40, 40, SPECIES_GLIGAR}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons}; - -const struct WildPokemon gSafariZone_Southeast_WaterMons[] = -{ - {25, 30, SPECIES_WOOPER}, - {25, 30, SPECIES_MARILL}, - {25, 30, SPECIES_MARILL}, - {30, 35, SPECIES_MARILL}, - {35, 40, SPECIES_QUAGSIRE}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons}; - -const struct WildPokemon gSafariZone_Southeast_FishingMons[] = -{ - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_MAGIKARP}, - {25, 30, SPECIES_GOLDEEN}, - {30, 35, SPECIES_REMORAID}, - {25, 30, SPECIES_GOLDEEN}, - {25, 30, SPECIES_REMORAID}, - {30, 35, SPECIES_REMORAID}, - {30, 35, SPECIES_REMORAID}, - {35, 40, SPECIES_OCTILLERY}, -}; - -const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons}; - -const struct WildPokemon gSafariZone_Northeast_LandMons[] = -{ - {33, 33, SPECIES_AIPOM}, - {34, 34, SPECIES_TEDDIURSA}, - {35, 35, SPECIES_AIPOM}, - {36, 36, SPECIES_TEDDIURSA}, - {34, 34, SPECIES_SUNKERN}, - {33, 33, SPECIES_LEDYBA}, - {35, 35, SPECIES_HOOTHOOT}, - {34, 34, SPECIES_PINECO}, - {36, 36, SPECIES_HOUNDOUR}, - {37, 37, SPECIES_MILTANK}, - {39, 39, SPECIES_HOUNDOUR}, - {40, 40, SPECIES_MILTANK}, -}; - -const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons}; - -const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] = -{ - {25, 30, SPECIES_SHUCKLE}, - {20, 25, SPECIES_SHUCKLE}, - {30, 35, SPECIES_SHUCKLE}, - {30, 35, SPECIES_SHUCKLE}, - {35, 40, SPECIES_SHUCKLE}, -}; - -const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons}; - -const struct WildPokemon gMagmaHideout_1F_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons}; - -const struct WildPokemon gMagmaHideout_4F_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons}; - -const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons}; - -const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] = -{ - {27, 27, SPECIES_GEODUDE}, - {28, 28, SPECIES_TORKOAL}, - {28, 28, SPECIES_GEODUDE}, - {30, 30, SPECIES_TORKOAL}, - {29, 29, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GEODUDE}, - {30, 30, SPECIES_GRAVELER}, - {30, 30, SPECIES_GRAVELER}, - {31, 31, SPECIES_GRAVELER}, - {32, 32, SPECIES_GRAVELER}, - {33, 33, SPECIES_GRAVELER}, -}; - -const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons}; - -const struct WildPokemon gMirageTower_1F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons}; - -const struct WildPokemon gMirageTower_2F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons}; - -const struct WildPokemon gMirageTower_3F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons}; - -const struct WildPokemon gMirageTower_4F_LandMons[] = -{ - {21, 21, SPECIES_SANDSHREW}, - {21, 21, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {20, 20, SPECIES_SANDSHREW}, - {20, 20, SPECIES_TRAPINCH}, - {22, 22, SPECIES_SANDSHREW}, - {22, 22, SPECIES_TRAPINCH}, - {23, 23, SPECIES_SANDSHREW}, - {23, 23, SPECIES_TRAPINCH}, - {24, 24, SPECIES_SANDSHREW}, - {24, 24, SPECIES_TRAPINCH}, -}; - -const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons}; - -const struct WildPokemon gDesertUnderpass_LandMons[] = -{ - {38, 38, SPECIES_DITTO}, - {35, 35, SPECIES_WHISMUR}, - {40, 40, SPECIES_DITTO}, - {40, 40, SPECIES_LOUDRED}, - {41, 41, SPECIES_DITTO}, - {36, 36, SPECIES_WHISMUR}, - {38, 38, SPECIES_LOUDRED}, - {42, 42, SPECIES_DITTO}, - {38, 38, SPECIES_WHISMUR}, - {43, 43, SPECIES_DITTO}, - {44, 44, SPECIES_LOUDRED}, - {45, 45, SPECIES_DITTO}, -}; - -const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons}; - -const struct WildPokemon gArtisanCave_B1F_LandMons[] = -{ - {40, 40, SPECIES_SMEARGLE}, - {41, 41, SPECIES_SMEARGLE}, - {42, 42, SPECIES_SMEARGLE}, - {43, 43, SPECIES_SMEARGLE}, - {44, 44, SPECIES_SMEARGLE}, - {45, 45, SPECIES_SMEARGLE}, - {46, 46, SPECIES_SMEARGLE}, - {47, 47, SPECIES_SMEARGLE}, - {48, 48, SPECIES_SMEARGLE}, - {49, 49, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons}; - -const struct WildPokemon gArtisanCave_1F_LandMons[] = -{ - {40, 40, SPECIES_SMEARGLE}, - {41, 41, SPECIES_SMEARGLE}, - {42, 42, SPECIES_SMEARGLE}, - {43, 43, SPECIES_SMEARGLE}, - {44, 44, SPECIES_SMEARGLE}, - {45, 45, SPECIES_SMEARGLE}, - {46, 46, SPECIES_SMEARGLE}, - {47, 47, SPECIES_SMEARGLE}, - {48, 48, SPECIES_SMEARGLE}, - {49, 49, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, - {50, 50, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons}; - -const struct WildPokemon gAlteringCave1_LandMons[] = -{ - {10, 10, SPECIES_ZUBAT}, - {12, 12, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {10, 10, SPECIES_ZUBAT}, - {12, 12, SPECIES_ZUBAT}, - {16, 16, SPECIES_ZUBAT}, - {6, 6, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, - {8, 8, SPECIES_ZUBAT}, - {14, 14, SPECIES_ZUBAT}, -}; - -const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons}; - -const struct WildPokemon gAlteringCave2_LandMons[] = -{ - {7, 7, SPECIES_MAREEP}, - {9, 9, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, - {7, 7, SPECIES_MAREEP}, - {9, 9, SPECIES_MAREEP}, - {13, 13, SPECIES_MAREEP}, - {3, 3, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, - {5, 5, SPECIES_MAREEP}, - {11, 11, SPECIES_MAREEP}, -}; - -const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons}; - -const struct WildPokemon gAlteringCave3_LandMons[] = -{ - {23, 23, SPECIES_PINECO}, - {25, 25, SPECIES_PINECO}, - {22, 22, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, - {23, 23, SPECIES_PINECO}, - {25, 25, SPECIES_PINECO}, - {29, 29, SPECIES_PINECO}, - {19, 19, SPECIES_PINECO}, - {21, 21, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, - {21, 21, SPECIES_PINECO}, - {27, 27, SPECIES_PINECO}, -}; - -const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons}; - -const struct WildPokemon gAlteringCave4_LandMons[] = -{ - {16, 16, SPECIES_HOUNDOUR}, - {18, 18, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, - {16, 16, SPECIES_HOUNDOUR}, - {18, 18, SPECIES_HOUNDOUR}, - {22, 22, SPECIES_HOUNDOUR}, - {12, 12, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, - {14, 14, SPECIES_HOUNDOUR}, - {20, 20, SPECIES_HOUNDOUR}, -}; - -const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons}; - -const struct WildPokemon gAlteringCave5_LandMons[] = -{ - {10, 10, SPECIES_TEDDIURSA}, - {12, 12, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, - {10, 10, SPECIES_TEDDIURSA}, - {12, 12, SPECIES_TEDDIURSA}, - {16, 16, SPECIES_TEDDIURSA}, - {6, 6, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, - {8, 8, SPECIES_TEDDIURSA}, - {14, 14, SPECIES_TEDDIURSA}, -}; - -const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons}; - -const struct WildPokemon gAlteringCave6_LandMons[] = -{ - {22, 22, SPECIES_AIPOM}, - {24, 24, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, - {22, 22, SPECIES_AIPOM}, - {24, 24, SPECIES_AIPOM}, - {28, 28, SPECIES_AIPOM}, - {18, 18, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, - {20, 20, SPECIES_AIPOM}, - {26, 26, SPECIES_AIPOM}, -}; - -const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons}; - -const struct WildPokemon gAlteringCave7_LandMons[] = -{ - {22, 22, SPECIES_SHUCKLE}, - {24, 24, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, - {22, 22, SPECIES_SHUCKLE}, - {24, 24, SPECIES_SHUCKLE}, - {28, 28, SPECIES_SHUCKLE}, - {18, 18, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, - {20, 20, SPECIES_SHUCKLE}, - {26, 26, SPECIES_SHUCKLE}, -}; - -const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons}; - -const struct WildPokemon gAlteringCave8_LandMons[] = -{ - {22, 22, SPECIES_STANTLER}, - {24, 24, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, - {22, 22, SPECIES_STANTLER}, - {24, 24, SPECIES_STANTLER}, - {28, 28, SPECIES_STANTLER}, - {18, 18, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, - {20, 20, SPECIES_STANTLER}, - {26, 26, SPECIES_STANTLER}, -}; - -const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons}; - -const struct WildPokemon gAlteringCave9_LandMons[] = -{ - {22, 22, SPECIES_SMEARGLE}, - {24, 24, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, - {22, 22, SPECIES_SMEARGLE}, - {24, 24, SPECIES_SMEARGLE}, - {28, 28, SPECIES_SMEARGLE}, - {18, 18, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, - {20, 20, SPECIES_SMEARGLE}, - {26, 26, SPECIES_SMEARGLE}, -}; - -const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons}; - -const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] = -{ - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_GOLBAT}, - {33, 33, SPECIES_GOLBAT}, - {35, 35, SPECIES_SOLROCK}, - {33, 33, SPECIES_SOLROCK}, - {37, 37, SPECIES_SOLROCK}, - {35, 35, SPECIES_GOLBAT}, - {39, 39, SPECIES_SOLROCK}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, - {38, 38, SPECIES_GOLBAT}, - {40, 40, SPECIES_GOLBAT}, -}; - -const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons}; - -//The actual headers that link the encounter tables to particular maps start here. - -const struct WildPokemonHeader gWildMonHeaders[] = -{ - { - .mapGroup = MAP_GROUP(ROUTE101), - .mapNum = MAP_NUM(ROUTE101), - .landMonsInfo = &gRoute101_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE102), - .mapNum = MAP_NUM(ROUTE102), - .landMonsInfo = &gRoute102_LandMonsInfo, - .waterMonsInfo = &gRoute102_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute102_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE103), - .mapNum = MAP_NUM(ROUTE103), - .landMonsInfo = &gRoute103_LandMonsInfo, - .waterMonsInfo = &gRoute103_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute103_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE104), - .mapNum = MAP_NUM(ROUTE104), - .landMonsInfo = &gRoute104_LandMonsInfo, - .waterMonsInfo = &gRoute104_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute104_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE105), - .mapNum = MAP_NUM(ROUTE105), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute105_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute105_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE110), - .mapNum = MAP_NUM(ROUTE110), - .landMonsInfo = &gRoute110_LandMonsInfo, - .waterMonsInfo = &gRoute110_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute110_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE111), - .mapNum = MAP_NUM(ROUTE111), - .landMonsInfo = &gRoute111_LandMonsInfo, - .waterMonsInfo = &gRoute111_WaterMonsInfo, - .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo, - .fishingMonsInfo = &gRoute111_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE112), - .mapNum = MAP_NUM(ROUTE112), - .landMonsInfo = &gRoute112_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE113), - .mapNum = MAP_NUM(ROUTE113), - .landMonsInfo = &gRoute113_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE114), - .mapNum = MAP_NUM(ROUTE114), - .landMonsInfo = &gRoute114_LandMonsInfo, - .waterMonsInfo = &gRoute114_WaterMonsInfo, - .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo, - .fishingMonsInfo = &gRoute114_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE116), - .mapNum = MAP_NUM(ROUTE116), - .landMonsInfo = &gRoute116_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE117), - .mapNum = MAP_NUM(ROUTE117), - .landMonsInfo = &gRoute117_LandMonsInfo, - .waterMonsInfo = &gRoute117_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute117_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE118), - .mapNum = MAP_NUM(ROUTE118), - .landMonsInfo = &gRoute118_LandMonsInfo, - .waterMonsInfo = &gRoute118_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute118_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE124), - .mapNum = MAP_NUM(ROUTE124), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute124_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute124_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PETALBURG_WOODS), - .mapNum = MAP_NUM(PETALBURG_WOODS), - .landMonsInfo = &gPetalburgWoods_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(RUSTURF_TUNNEL), - .mapNum = MAP_NUM(RUSTURF_TUNNEL), - .landMonsInfo = &gRusturfTunnel_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_1F), - .mapNum = MAP_NUM(GRANITE_CAVE_1F), - .landMonsInfo = &gGraniteCave_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F), - .mapNum = MAP_NUM(GRANITE_CAVE_B1F), - .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_1F), - .mapNum = MAP_NUM(MT_PYRE_1F), - .landMonsInfo = &gMtPyre_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_1F), - .mapNum = MAP_NUM(VICTORY_ROAD_1F), - .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH), - .landMonsInfo = &gSafariZone_South_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(UNDERWATER2), - .mapNum = MAP_NUM(UNDERWATER2), - .landMonsInfo = NULL, - .waterMonsInfo = &gUnderwater2_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F), - .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F), - .landMonsInfo = NULL, - .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F), - .mapNum = MAP_NUM(GRANITE_CAVE_B2F), - .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(FIERY_PATH), - .mapNum = MAP_NUM(FIERY_PATH), - .landMonsInfo = &gFieryPath_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R), - .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R), - .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(JAGGED_PASS), - .mapNum = MAP_NUM(JAGGED_PASS), - .landMonsInfo = &gJaggedPass_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE106), - .mapNum = MAP_NUM(ROUTE106), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute106_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute106_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE107), - .mapNum = MAP_NUM(ROUTE107), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute107_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute107_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE108), - .mapNum = MAP_NUM(ROUTE108), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute108_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute108_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE109), - .mapNum = MAP_NUM(ROUTE109), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute109_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute109_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE115), - .mapNum = MAP_NUM(ROUTE115), - .landMonsInfo = &gRoute115_LandMonsInfo, - .waterMonsInfo = &gRoute115_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute115_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE), - .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE), - .landMonsInfo = &gNewMauville_Inside_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE119), - .mapNum = MAP_NUM(ROUTE119), - .landMonsInfo = &gRoute119_LandMonsInfo, - .waterMonsInfo = &gRoute119_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute119_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE120), - .mapNum = MAP_NUM(ROUTE120), - .landMonsInfo = &gRoute120_LandMonsInfo, - .waterMonsInfo = &gRoute120_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute120_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE121), - .mapNum = MAP_NUM(ROUTE121), - .landMonsInfo = &gRoute121_LandMonsInfo, - .waterMonsInfo = &gRoute121_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute121_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE122), - .mapNum = MAP_NUM(ROUTE122), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute122_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute122_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE123), - .mapNum = MAP_NUM(ROUTE123), - .landMonsInfo = &gRoute123_LandMonsInfo, - .waterMonsInfo = &gRoute123_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute123_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_2F), - .mapNum = MAP_NUM(MT_PYRE_2F), - .landMonsInfo = &gMtPyre_2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_3F), - .mapNum = MAP_NUM(MT_PYRE_3F), - .landMonsInfo = &gMtPyre_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_4F), - .mapNum = MAP_NUM(MT_PYRE_4F), - .landMonsInfo = &gMtPyre_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_5F), - .mapNum = MAP_NUM(MT_PYRE_5F), - .landMonsInfo = &gMtPyre_5F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_6F), - .mapNum = MAP_NUM(MT_PYRE_6F), - .landMonsInfo = &gMtPyre_6F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR), - .mapNum = MAP_NUM(MT_PYRE_EXTERIOR), - .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT), - .mapNum = MAP_NUM(MT_PYRE_SUMMIT), - .landMonsInfo = &gMtPyre_Summit_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM), - .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM), - .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ROUTE125), - .mapNum = MAP_NUM(ROUTE125), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute125_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute125_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE126), - .mapNum = MAP_NUM(ROUTE126), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute126_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute126_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE127), - .mapNum = MAP_NUM(ROUTE127), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute127_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute127_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE128), - .mapNum = MAP_NUM(ROUTE128), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute128_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute128_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE129), - .mapNum = MAP_NUM(ROUTE129), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute129_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute129_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE130), - .mapNum = MAP_NUM(ROUTE130), - .landMonsInfo = &gRoute130_LandMonsInfo, - .waterMonsInfo = &gRoute130_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute130_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE131), - .mapNum = MAP_NUM(ROUTE131), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute131_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute131_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE132), - .mapNum = MAP_NUM(ROUTE132), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute132_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute132_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE133), - .mapNum = MAP_NUM(ROUTE133), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute133_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute133_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ROUTE134), - .mapNum = MAP_NUM(ROUTE134), - .landMonsInfo = NULL, - .waterMonsInfo = &gRoute134_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gRoute134_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), - .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), - .landMonsInfo = NULL, - .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1), - .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2), - .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3), - .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4), - .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5), - .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6), - .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo, - .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7), - .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo, - .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8), - .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE), - .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE), - .landMonsInfo = NULL, - .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE), - .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F), - .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), - .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE), - .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE), - .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST), - .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTH), - .landMonsInfo = &gSafariZone_North_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST), - .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F), - .mapNum = MAP_NUM(VICTORY_ROAD_B1F), - .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F), - .mapNum = MAP_NUM(VICTORY_ROAD_B2F), - .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo, - .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R), - .mapNum = MAP_NUM(METEOR_FALLS_1F_1R), - .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R), - .mapNum = MAP_NUM(METEOR_FALLS_1F_2R), - .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R), - .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R), - .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo, - .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), - .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), - .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), - .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo, - .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), - .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo, - .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(LILYCOVE_CITY), - .mapNum = MAP_NUM(LILYCOVE_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gLilycoveCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(DEWFORD_TOWN), - .mapNum = MAP_NUM(DEWFORD_TOWN), - .landMonsInfo = NULL, - .waterMonsInfo = &gDewfordTown_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gDewfordTown_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SLATEPORT_CITY), - .mapNum = MAP_NUM(SLATEPORT_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gSlateportCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSlateportCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(MOSSDEEP_CITY), - .mapNum = MAP_NUM(MOSSDEEP_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gMossdeepCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN), - .mapNum = MAP_NUM(PACIFIDLOG_TOWN), - .landMonsInfo = NULL, - .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(EVER_GRANDE_CITY), - .mapNum = MAP_NUM(EVER_GRANDE_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(PETALBURG_CITY), - .mapNum = MAP_NUM(PETALBURG_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gPetalburgCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(UNDERWATER1), - .mapNum = MAP_NUM(UNDERWATER1), - .landMonsInfo = NULL, - .waterMonsInfo = &gUnderwater1_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), - .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), - .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_1F), - .mapNum = MAP_NUM(SKY_PILLAR_1F), - .landMonsInfo = &gSkyPillar_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY), - .mapNum = MAP_NUM(SOOTOPOLIS_CITY), - .landMonsInfo = NULL, - .waterMonsInfo = &gSootopolisCity_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_3F), - .mapNum = MAP_NUM(SKY_PILLAR_3F), - .landMonsInfo = &gSkyPillar_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SKY_PILLAR_5F), - .mapNum = MAP_NUM(SKY_PILLAR_5F), - .landMonsInfo = &gSkyPillar_5F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST), - .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo, - .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo, - }, - { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST), - .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F), - .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R), - .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R), - .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R), - .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R), - .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F), - .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R), - .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R), - .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R), - .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F), - .mapNum = MAP_NUM(MIRAGE_TOWER_1F), - .landMonsInfo = &gMirageTower_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F), - .mapNum = MAP_NUM(MIRAGE_TOWER_2F), - .landMonsInfo = &gMirageTower_2F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F), - .mapNum = MAP_NUM(MIRAGE_TOWER_3F), - .landMonsInfo = &gMirageTower_3F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F), - .mapNum = MAP_NUM(MIRAGE_TOWER_4F), - .landMonsInfo = &gMirageTower_4F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(DESERT_UNDERPASS), - .mapNum = MAP_NUM(DESERT_UNDERPASS), - .landMonsInfo = &gDesertUnderpass_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F), - .mapNum = MAP_NUM(ARTISAN_CAVE_B1F), - .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F), - .mapNum = MAP_NUM(ARTISAN_CAVE_1F), - .landMonsInfo = &gArtisanCave_1F_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave1_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave2_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave3_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave4_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave5_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave6_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave7_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave8_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(ALTERING_CAVE), - .mapNum = MAP_NUM(ALTERING_CAVE), - .landMonsInfo = &gAlteringCave9_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE), - .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE), - .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = MAP_GROUP(UNDEFINED), - .mapNum = MAP_NUM(UNDEFINED), - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -//Battle Pyramid-specific tables and headers start here. - -const struct WildPokemon gBattlePyramidPlaceholders_1[] = -{ - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_BULBASAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1}; - -const struct WildPokemon gBattlePyramidPlaceholders_2[] = -{ - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_IVYSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMANDER}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2}; - -const struct WildPokemon gBattlePyramidPlaceholders_3[] = -{ - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_VENUSAUR}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3}; - -const struct WildPokemon gBattlePyramidPlaceholders_4[] = -{ - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMANDER}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4}; - -const struct WildPokemon gBattlePyramidPlaceholders_5[] = -{ - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5}; - -const struct WildPokemon gBattlePyramidPlaceholders_6[] = -{ - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6}; - -const struct WildPokemon gBattlePyramidPlaceholders_7[] = -{ - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_WARTORTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_SQUIRTLE}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARIZARD}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, - {5, 5, SPECIES_CHARMELEON}, -}; - -const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7}; - -const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] = -{ - { - .mapGroup = 0, - .mapNum = 1, - .landMonsInfo = &gBattlePyramidPlaceholders_1Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 2, - .landMonsInfo = &gBattlePyramidPlaceholders_2Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 3, - .landMonsInfo = &gBattlePyramidPlaceholders_3Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 4, - .landMonsInfo = &gBattlePyramidPlaceholders_4Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 5, - .landMonsInfo = &gBattlePyramidPlaceholders_5Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 6, - .landMonsInfo = &gBattlePyramidPlaceholders_6Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 7, - .landMonsInfo = &gBattlePyramidPlaceholders_7Info, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 255, - .mapNum = 255, - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -//Battle Pike-specific tables and headers start here. - -const struct WildPokemon gBattlePikeMons_1[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_DUSCLOPS}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1}; - -const struct WildPokemon gBattlePikeMons_2[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_ELECTRODE}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2}; - -const struct WildPokemon gBattlePikeMons_3[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_BRELOOM}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3}; - -const struct WildPokemon gBattlePikeMons_4[] = -{ - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_WOBBUFFET}, - {5, 5, SPECIES_SEVIPER}, - {5, 5, SPECIES_MILOTIC}, -}; - -const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4}; - -const struct WildPokemonHeader gBattlePikeWildMonHeaders[] = -{ - { - .mapGroup = 0, - .mapNum = 1, - .landMonsInfo = &gBattlePikeMonsInfo_1, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 2, - .landMonsInfo = &gBattlePikeMonsInfo_2, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 3, - .landMonsInfo = &gBattlePikeMonsInfo_3, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 0, - .mapNum = 4, - .landMonsInfo = &gBattlePikeMonsInfo_4, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, - { - .mapGroup = 255, - .mapNum = 255, - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - }, -}; - -//Special Feebas-related data. - -const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS}; - -const u16 gRoute119WaterTileData[] = -{ - 0, 0x2D, 0, - 0x2E, 0x5B, 0x83, - 0x5C, 0x8B, 0x12A, -}; - diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json new file mode 100755 index 000000000..6dd24bfed --- /dev/null +++ b/src/data/wild_encounters.json @@ -0,0 +1,12186 @@ +{ + "wild_encounter_groups": [ + { + "label": "gWildMonHeaders", + "for_maps": true, + "encounters": [ + { + "map": "MAP_ROUTE101", + "base_label": "gRoute101", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + } + ] + } + }, + { + "map": "MAP_ROUTE102", + "base_label": "gRoute102", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_RALTS" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_SEEDOT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CORPHISH" + } + ] + } + }, + { + "map": "MAP_ROUTE103", + "base_label": "gRoute103", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 2, + "max_level": 2, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WINGULL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE104", + "base_label": "gRoute104", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MARILL" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 4, + "max_level": 4, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WINGULL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_MAGIKARP" + } + ] + } + }, + { + "map": "MAP_ROUTE105", + "base_label": "gRoute105", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE110", + "base_label": "gRoute110", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_GULPIN" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MINUN" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MINUN" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_GULPIN" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_PLUSLE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_PLUSLE" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE111", + "base_label": "gRoute111", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_BALTOY" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_BALTOY" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_BALTOY" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_CACNEA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_CACNEA" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_CACNEA" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_ROUTE112", + "base_label": "gRoute112", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MARILL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_MARILL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MARILL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + } + ] + } + }, + { + "map": "MAP_ROUTE113", + "base_label": "gRoute113", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SKARMORY" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SPINDA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SKARMORY" + } + ] + } + }, + { + "map": "MAP_ROUTE114", + "base_label": "gRoute114", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_LOTAD" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_LOMBRE" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_LOMBRE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_LOMBRE" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUZLEAF" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_ROUTE116", + "base_label": "gRoute116", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_NINCADA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ABRA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_NINCADA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_SKITTY" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_SKITTY" + } + ] + } + }, + { + "map": "MAP_ROUTE117", + "base_label": "gRoute117", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MARILL" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ILLUMISE" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_VOLBEAT" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_SEEDOT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CORPHISH" + } + ] + } + }, + { + "map": "MAP_ROUTE118", + "base_label": "gRoute118", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ELECTRIKE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_LINOONE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MANECTRIC" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CARVANHA" + } + ] + } + }, + { + "map": "MAP_ROUTE124", + "base_label": "gRoute124", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_PETALBURG_WOODS", + "base_label": "gPetalburgWoods", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SHROOMISH" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SILCOON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CASCOON" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WURMPLE" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_SHROOMISH" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SLAKOTH" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_SLAKOTH" + } + ] + } + }, + { + "map": "MAP_RUSTURF_TUNNEL", + "base_label": "gRusturfTunnel", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_WHISMUR" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_1F", + "base_label": "gGraniteCave_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_GEODUDE" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_B1F", + "base_label": "gGraniteCave_B1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ARON" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ARON" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ARON" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_SABLEYE" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_1F", + "base_label": "gMtPyre_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + } + ] + } + }, + { + "map": "MAP_VICTORY_ROAD_1F", + "base_label": "gVictoryRoad_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_ARON" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_ARON" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WHISMUR" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_SOUTH", + "base_label": "gSafariZone_South", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_NATU" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DODUO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_WOBBUFFET" + } + ] + } + }, + { + "map": "MAP_UNDERWATER2", + "base_label": "gUnderwater2", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CHINCHOU" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + } + ] + } + }, + { + "map": "MAP_ABANDONED_SHIP_ROOMS_B1F", + "base_label": "gAbandonedShip_Rooms_B1F", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_TENTACRUEL" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_B2F", + "base_label": "gGraniteCave_B2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ARON" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ARON" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ARON" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_SABLEYE" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_NOSEPASS" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + } + ] + } + }, + { + "map": "MAP_FIERY_PATH", + "base_label": "gFieryPath", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_SLUGMA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_KOFFING" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GRIMER" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_GRIMER" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_B1F_2R", + "base_label": "gMeteorFalls_B1F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_BAGON" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_BAGON" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_BAGON" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_JAGGED_PASS", + "base_label": "gJaggedPass", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SPOINK" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SPOINK" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MACHOP" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SPOINK" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_NUMEL" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SPOINK" + } + ] + } + }, + { + "map": "MAP_ROUTE106", + "base_label": "gRoute106", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE107", + "base_label": "gRoute107", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE108", + "base_label": "gRoute108", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE109", + "base_label": "gRoute109", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE115", + "base_label": "gRoute115", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SWABLU" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_TAILLOW" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SWELLOW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_JIGGLYPUFF" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_JIGGLYPUFF" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WINGULL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_NEW_MAUVILLE_INSIDE", + "base_label": "gNewMauville_Inside", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MAGNETON" + } + ] + } + }, + { + "map": "MAP_ROUTE119", + "base_label": "gRoute119", + "land_mons": { + "encounter_rate": 15, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_LINOONE" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ZIGZAGOON" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_LINOONE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_TROPIUS" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_TROPIUS" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_TROPIUS" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CARVANHA" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CARVANHA" + } + ] + } + }, + { + "map": "MAP_ROUTE120", + "base_label": "gRoute120", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MARILL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_MARILL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ABSOL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ABSOL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SEEDOT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_ROUTE121", + "base_label": "gRoute121", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE122", + "base_label": "gRoute122", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE123", + "base_label": "gRoute123", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_POOCHYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_MIGHTYENA" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_KECLEON" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_2F", + "base_label": "gMtPyre_2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_3F", + "base_label": "gMtPyre_3F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_4F", + "base_label": "gMtPyre_4F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DUSKULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_5F", + "base_label": "gMtPyre_5F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DUSKULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_6F", + "base_label": "gMtPyre_6F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DUSKULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_EXTERIOR", + "base_label": "gMtPyre_Exterior", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_VULPIX" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_WINGULL" + } + ] + } + }, + { + "map": "MAP_MT_PYRE_SUMMIT", + "base_label": "gMtPyre_Summit", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUPPET" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_DUSKULL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_CHIMECHO" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_CHIMECHO" + } + ] + } + }, + { + "map": "MAP_GRANITE_CAVE_STEVENS_ROOM", + "base_label": "gGraniteCave_StevensRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ABRA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_MAKUHITA" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ARON" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ARON" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_ARON" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ARON" + } + ] + } + }, + { + "map": "MAP_ROUTE125", + "base_label": "gRoute125", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE126", + "base_label": "gRoute126", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE127", + "base_label": "gRoute127", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE128", + "base_label": "gRoute128", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORSOLA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE129", + "base_label": "gRoute129", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILORD" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE130", + "base_label": "gRoute130", + "land_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_WYNAUT" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WYNAUT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE131", + "base_label": "gRoute131", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE132", + "base_label": "gRoute132", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE133", + "base_label": "gRoute133", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ROUTE134", + "base_label": "gRoute134", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_HORSEA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", + "base_label": "gAbandonedShip_HiddenFloorCorridors", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_TENTACRUEL" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_TENTACRUEL" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM1", + "base_label": "gSeafloorCavern_Room1", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM2", + "base_label": "gSeafloorCavern_Room2", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM3", + "base_label": "gSeafloorCavern_Room3", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM4", + "base_label": "gSeafloorCavern_Room4", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM5", + "base_label": "gSeafloorCavern_Room5", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM6", + "base_label": "gSeafloorCavern_Room6", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM7", + "base_label": "gSeafloorCavern_Room7", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ROOM8", + "base_label": "gSeafloorCavern_Room8", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", + "base_label": "gSeafloorCavern_Entrance", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_ENTRANCE", + "base_label": "gCaveOfOrigin_Entrance", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_1F", + "base_label": "gCaveOfOrigin_1F", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1", + "base_label": "gCaveOfOrigin_UnusedRubySapphireMap1", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2", + "base_label": "gCaveOfOrigin_UnusedRubySapphireMap2", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3", + "base_label": "gCaveOfOrigin_UnusedRubySapphireMap3", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_GOLBAT" + } + ] + } + }, + { + "map": "MAP_NEW_MAUVILLE_ENTRANCE", + "base_label": "gNewMauville_Entrance", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MAGNEMITE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_VOLTORB" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_MAGNEMITE" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_SOUTHWEST", + "base_label": "gSafariZone_Southwest", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GIRAFARIG" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_NATU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DODUO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PIKACHU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_WOBBUFFET" + } + ] + }, + "water_mons": { + "encounter_rate": 9, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 35, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SEAKING" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_NORTH", + "base_label": "gSafariZone_North", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PHANPY" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_NATU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_NATU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_XATU" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_HERACROSS" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_XATU" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_HERACROSS" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 10, + "max_level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 15, + "max_level": 20, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GEODUDE" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_NORTHWEST", + "base_label": "gSafariZone_Northwest", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_RHYHORN" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_RHYHORN" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_ODDISH" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_DODUO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GLOOM" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DODUO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_DODRIO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINSIR" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_DODRIO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PINSIR" + } + ] + }, + "water_mons": { + "encounter_rate": 9, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_PSYDUCK" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLDUCK" + }, + { + "min_level": 25, + "max_level": 40, + "species": "SPECIES_GOLDUCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 35, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 25, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SEAKING" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SEAKING" + } + ] + } + }, + { + "map": "MAP_VICTORY_ROAD_B1F", + "base_label": "gVictoryRoad_B1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_HARIYAMA" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MAWILE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_MAWILE" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 20, + "mons": [ + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 40, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_VICTORY_ROAD_B2F", + "base_label": "gVictoryRoad_B2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_MAWILE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_LAIRON" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_MAWILE" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_1F_1R", + "base_label": "gMeteorFalls_1F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 17, + "max_level": 17, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 15, + "max_level": 15, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_ZUBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_BARBOACH" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_1F_2R", + "base_label": "gMeteorFalls_1F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_B1F_1R", + "base_label": "gMeteorFalls_B1F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 5, + "max_level": 15, + "species": "SPECIES_SOLROCK" + } + ] + }, + "fishing_mons": { + "encounter_rate": 30, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_BARBOACH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WHISCASH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WHISCASH" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM", + "base_label": "gShoalCave_LowTideStairsRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", + "base_label": "gShoalCave_LowTideLowerRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", + "base_label": "gShoalCave_LowTideInnerRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SPHEAL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", + "base_label": "gShoalCave_LowTideEntranceRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + } + ] + }, + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 25, + "max_level": 35, + "species": "SPECIES_SPHEAL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_LILYCOVE_CITY", + "base_label": "gLilycoveCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_STARYU" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_DEWFORD_TOWN", + "base_label": "gDewfordTown", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_SLATEPORT_CITY", + "base_label": "gSlateportCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_MOSSDEEP_CITY", + "base_label": "gMossdeepCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_PACIFIDLOG_TOWN", + "base_label": "gPacifidlogTown", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHARPEDO" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_EVER_GRANDE_CITY", + "base_label": "gEverGrandeCity", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_WINGULL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_LUVDISC" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORSOLA" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_WAILMER" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_WAILMER" + } + ] + } + }, + { + "map": "MAP_PETALBURG_CITY", + "base_label": "gPetalburgCity", + "water_mons": { + "encounter_rate": 1, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 10, + "max_level": 20, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MARILL" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_CORPHISH" + }, + { + "min_level": 40, + "max_level": 45, + "species": "SPECIES_CORPHISH" + } + ] + } + }, + { + "map": "MAP_UNDERWATER1", + "base_label": "gUnderwater1", + "water_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 20, + "max_level": 30, + "species": "SPECIES_CHINCHOU" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_CLAMPERL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_RELICANTH" + } + ] + } + }, + { + "map": "MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM", + "base_label": "gShoalCave_LowTideIceRoom", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SNORUNT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_SPHEAL" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SNORUNT" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_SNORUNT" + } + ] + } + }, + { + "map": "MAP_SKY_PILLAR_1F", + "base_label": "gSkyPillar_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + } + ] + } + }, + { + "map": "MAP_SOOTOPOLIS_CITY", + "base_label": "gSootopolisCity", + "water_mons": { + "encounter_rate": 1, + "mons": [ + { + "min_level": 5, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 15, + "max_level": 25, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + } + ] + }, + "fishing_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 5, + "max_level": 10, + "species": "SPECIES_TENTACOOL" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 10, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 35, + "max_level": 45, + "species": "SPECIES_GYARADOS" + }, + { + "min_level": 5, + "max_level": 45, + "species": "SPECIES_GYARADOS" + } + ] + } + }, + { + "map": "MAP_SKY_PILLAR_3F", + "base_label": "gSkyPillar_3F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_CLAYDOL" + } + ] + } + }, + { + "map": "MAP_SKY_PILLAR_5F", + "base_label": "gSkyPillar_5F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SABLEYE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_BANETTE" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_CLAYDOL" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_ALTARIA" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_ALTARIA" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_ALTARIA" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_SOUTHEAST", + "base_label": "gSafariZone_Southeast", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SUNKERN" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SUNKERN" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SPINARAK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_HOOTHOOT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SNUBBULL" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_GLIGAR" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GLIGAR" + } + ] + }, + "water_mons": { + "encounter_rate": 9, + "mons": [ + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_WOOPER" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MARILL" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_MARILL" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_QUAGSIRE" + } + ] + }, + "fishing_mons": { + "encounter_rate": 35, + "mons": [ + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_MAGIKARP" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_GOLDEEN" + }, + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_REMORAID" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_OCTILLERY" + } + ] + } + }, + { + "map": "MAP_SAFARI_ZONE_NORTHEAST", + "base_label": "gSafariZone_Northeast", + "land_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_SUNKERN" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_LEDYBA" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_HOOTHOOT" + }, + { + "min_level": 34, + "max_level": 34, + "species": "SPECIES_PINECO" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_MILTANK" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_MILTANK" + } + ] + }, + "rock_smash_mons": { + "encounter_rate": 25, + "mons": [ + { + "min_level": 25, + "max_level": 30, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 25, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 30, + "max_level": 35, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 35, + "max_level": 40, + "species": "SPECIES_SHUCKLE" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_1F", + "base_label": "gMagmaHideout_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_2F_1R", + "base_label": "gMagmaHideout_2F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_2F_2R", + "base_label": "gMagmaHideout_2F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_3F_1R", + "base_label": "gMagmaHideout_3F_1R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_3F_2R", + "base_label": "gMagmaHideout_3F_2R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_4F", + "base_label": "gMagmaHideout_4F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_3F_3R", + "base_label": "gMagmaHideout_3F_3R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MAGMA_HIDEOUT_2F_3R", + "base_label": "gMagmaHideout_2F_3R", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_TORKOAL" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GEODUDE" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 30, + "max_level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 31, + "max_level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 32, + "max_level": 32, + "species": "SPECIES_GRAVELER" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GRAVELER" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_1F", + "base_label": "gMirageTower_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_2F", + "base_label": "gMirageTower_2F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_3F", + "base_label": "gMirageTower_3F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_MIRAGE_TOWER_4F", + "base_label": "gMirageTower_4F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_TRAPINCH" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SANDSHREW" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_TRAPINCH" + } + ] + } + }, + { + "map": "MAP_DESERT_UNDERPASS", + "base_label": "gDesertUnderpass", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_DITTO" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_DITTO" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_DITTO" + }, + { + "min_level": 36, + "max_level": 36, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_DITTO" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_WHISMUR" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_DITTO" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_LOUDRED" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_DITTO" + } + ] + } + }, + { + "map": "MAP_ARTISAN_CAVE_B1F", + "base_label": "gArtisanCave_B1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + } + ] + } + }, + { + "map": "MAP_ARTISAN_CAVE_1F", + "base_label": "gArtisanCave_1F", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 41, + "max_level": 41, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 42, + "max_level": 42, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 43, + "max_level": 43, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 44, + "max_level": 44, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 45, + "max_level": 45, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 46, + "max_level": 46, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 47, + "max_level": 47, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 48, + "max_level": 48, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 49, + "max_level": 49, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 50, + "max_level": 50, + "species": "SPECIES_SMEARGLE" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave1", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_ZUBAT" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_ZUBAT" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave2", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 7, + "max_level": 7, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 9, + "max_level": 9, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 13, + "max_level": 13, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 3, + "max_level": 3, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MAREEP" + }, + { + "min_level": 11, + "max_level": 11, + "species": "SPECIES_MAREEP" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave3", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PINECO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PINECO" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + }, + { + "min_level": 23, + "max_level": 23, + "species": "SPECIES_PINECO" + }, + { + "min_level": 25, + "max_level": 25, + "species": "SPECIES_PINECO" + }, + { + "min_level": 29, + "max_level": 29, + "species": "SPECIES_PINECO" + }, + { + "min_level": 19, + "max_level": 19, + "species": "SPECIES_PINECO" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + }, + { + "min_level": 21, + "max_level": 21, + "species": "SPECIES_PINECO" + }, + { + "min_level": 27, + "max_level": 27, + "species": "SPECIES_PINECO" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave4", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_HOUNDOUR" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_HOUNDOUR" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave5", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 10, + "max_level": 10, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 12, + "max_level": 12, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 16, + "max_level": 16, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 6, + "max_level": 6, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 8, + "max_level": 8, + "species": "SPECIES_TEDDIURSA" + }, + { + "min_level": 14, + "max_level": 14, + "species": "SPECIES_TEDDIURSA" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave6", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_AIPOM" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_AIPOM" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave7", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SHUCKLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SHUCKLE" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave8", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_STANTLER" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_STANTLER" + } + ] + } + }, + { + "map": "MAP_ALTERING_CAVE", + "base_label": "gAlteringCave9", + "land_mons": { + "encounter_rate": 7, + "mons": [ + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 22, + "max_level": 22, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 24, + "max_level": 24, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 28, + "max_level": 28, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 18, + "max_level": 18, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 20, + "max_level": 20, + "species": "SPECIES_SMEARGLE" + }, + { + "min_level": 26, + "max_level": 26, + "species": "SPECIES_SMEARGLE" + } + ] + } + }, + { + "map": "MAP_METEOR_FALLS_STEVENS_CAVE", + "base_label": "gMeteorFalls_StevensCave", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 33, + "max_level": 33, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 37, + "max_level": 37, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 35, + "max_level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 39, + "max_level": 39, + "species": "SPECIES_SOLROCK" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 38, + "max_level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "min_level": 40, + "max_level": 40, + "species": "SPECIES_GOLBAT" + } + ] + } + } + ] + }, + { + "label": "gBattlePyramidWildMonHeaders", + "for_maps": false, + "encounters": [ + { + "base_label": "gBattlePyramid_1", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BULBASAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + } + ] + } + }, + { + "base_label": "gBattlePyramid_2", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_IVYSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + } + ] + } + }, + { + "base_label": "gBattlePyramid_3", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_VENUSAUR" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + } + ] + } + }, + { + "base_label": "gBattlePyramid_4", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMANDER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + } + ] + } + }, + { + "base_label": "gBattlePyramid_5", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + } + ] + } + }, + { + "base_label": "gBattlePyramid_6", + "land_mons": { + "encounter_rate": 4, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + } + ] + } + }, + { + "base_label": "gBattlePyramid_7", + "land_mons": { + "encounter_rate": 8, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WARTORTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SQUIRTLE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARIZARD" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_CHARMELEON" + } + ] + } + } + ] + }, + { + "label": "gBattlePikeWildMonHeaders", + "for_maps": false, + "encounters": [ + { + "base_label": "gBattlePike_1", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_DUSCLOPS" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + }, + { + "base_label": "gBattlePike_2", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_ELECTRODE" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + }, + { + "base_label": "gBattlePike_3", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_BRELOOM" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + }, + { + "base_label": "gBattlePike_4", + "land_mons": { + "encounter_rate": 10, + "mons": [ + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_WOBBUFFET" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_SEVIPER" + }, + { + "min_level": 5, + "max_level": 5, + "species": "SPECIES_MILOTIC" + } + ] + } + } + ] + } + ] +}
\ No newline at end of file diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt new file mode 100755 index 000000000..8f88cc587 --- /dev/null +++ b/src/data/wild_encounters.json.txt @@ -0,0 +1,67 @@ +{{ doNotModifyHeader }} +## for wild_encounter_group in wild_encounter_groups +## for encounter in wild_encounter_group.encounters +{% if existsIn(encounter, "land_mons") %} +const struct WildPokemon {{ encounter.base_label }}_LandMons[] = +{ +## for wild_mon in encounter.land_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_LandMonsInfo = { {{encounter.land_mons.encounter_rate}}, {{ encounter.base_label }}_LandMons }; +{% endif %} +{% if existsIn(encounter, "water_mons") %} +const struct WildPokemon {{ encounter.base_label }}_WaterMons[] = +{ +## for wild_mon in encounter.water_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_WaterMonsInfo = { {{encounter.water_mons.encounter_rate}}, {{ encounter.base_label }}_WaterMons }; +{% endif %} +{% if existsIn(encounter, "rock_smash_mons") %} +const struct WildPokemon {{ encounter.base_label }}_RockSmashMons[] = +{ +## for wild_mon in encounter.rock_smash_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_RockSmashMonsInfo = { {{encounter.rock_smash_mons.encounter_rate}}, {{ encounter.base_label }}_RockSmashMons }; +{% endif %} +{% if existsIn(encounter, "fishing_mons") %} +const struct WildPokemon {{ encounter.base_label }}_FishingMons[] = +{ +## for wild_mon in encounter.fishing_mons.mons + { {{ wild_mon.min_level }}, {{ wild_mon.max_level }}, {{ wild_mon.species }} }, +## endfor +}; + +const struct WildPokemonInfo {{ encounter.base_label }}_FishingMonsInfo = { {{encounter.fishing_mons.encounter_rate}}, {{ encounter.base_label }}_FishingMons }; +{% endif %} +## endfor + +const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = +{ +## for encounter in wild_encounter_group.encounters + { + .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %}, + .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %}, + .landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %}, + .waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %}, + .rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, + .fishingMonsInfo = {% if existsIn(encounter, "fishing_mons") %}&{{ encounter.base_label }}_FishingMonsInfo{% else %}NULL{% endif %}, + }, +## endfor + { + .mapGroup = MAP_GROUP(UNDEFINED), + .mapNum = MAP_NUM(UNDEFINED), + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; +## endfor diff --git a/src/decompress.c b/src/decompress.c index 949b96990..46e4ef614 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -1,15 +1,13 @@ #include "global.h" -#include "decompress.h" -#include "constants/species.h" -#include "text.h" #include "alloc.h" +#include "data.h" +#include "decompress.h" #include "pokemon.h" +#include "text.h" +#include "constants/species.h" EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0}; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct CompressedSpriteSheet gMonBackPicTable[]; - static void DuplicateDeoxysTiles(void *pointer, s32 species); void LZDecompressWram(const u32 *src, void *dest) diff --git a/src/decoration.c b/src/decoration.c index 4baa6d4c8..0f6dd082b 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1,84 +1,83 @@ #include "global.h" -#include "constants/decorations.h" -#include "decompress.h" #include "alloc.h" -#include "text.h" -#include "string_util.h" -#include "international_string_util.h" -#include "script.h" -#include "task.h" -#include "main.h" -#include "palette.h" -#include "constants/songs.h" -#include "overworld.h" -#include "fieldmap.h" -#include "metatile_behavior.h" -#include "field_weather.h" -#include "field_player_avatar.h" +#include "decompress.h" +#include "decoration.h" +#include "decoration_inventory.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "event_scripts.h" #include "field_camera.h" +#include "field_player_avatar.h" #include "field_screen_effect.h" -#include "event_object_movement.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "graphics.h" +#include "international_string_util.h" +#include "item_icon.h" #include "list_menu.h" -#include "menu_helpers.h" +#include "main.h" #include "menu.h" -#include "sound.h" -#include "event_scripts.h" -#include "event_data.h" -#include "constants/region_map_sections.h" +#include "menu_helpers.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "palette.h" #include "player_pc.h" -#include "strings.h" -#include "tv.h" +#include "script.h" #include "secret_base.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" #include "tilesets.h" -#include "item_icon.h" #include "trader.h" +#include "tv.h" +#include "constants/decorations.h" #include "constants/event_objects.h" -#include "decoration_inventory.h" -#include "decoration.h" -#include "graphics.h" - -// Static type declarations +#include "constants/songs.h" +#include "constants/region_map_sections.h" -#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5 -#define OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG 0x008 +#define PLACE_DECORATION_SELECTOR_TAG 0xbe5 +#define PLACE_DECORATION_PLAYER_TAG 0x008 -struct DecorPCBuffer { +struct DecorationItemsMenu +{ struct ListMenuItem items[41]; u8 names[41][24]; - u8 unk_520; - u8 unk_521; - u8 unk_522; + u8 numMenuItems; + u8 maxShownItems; + u8 scrollIndicatorsTaskId; }; -struct PlaceDecorationGraphicsDataBuffer { - /*0x000; 0x0203a190*/ const struct Decoration *decoration; - /*0x004; 0x0203a194*/ u16 tiles[0x40]; - /*0x084; 0x0203a214*/ u8 image[0x800]; - /*0x884; 0x0203aa14*/ u16 palette[16]; +struct PlaceDecorationGraphicsDataBuffer +{ + const struct Decoration *decoration; + u16 tiles[0x40]; + u8 image[0x800]; + u16 palette[16]; }; -struct DecorRearrangementDataBuffer { +struct DecorRearrangementDataBuffer +{ u8 idx; u8 width; u8 height; u16 flagId; }; -// Static RAM declarations - -EWRAM_DATA u8 *gCurDecorInventoryItems = NULL; -EWRAM_DATA static u8 sSecretBasePCMenuCursorPos = 0; -EWRAM_DATA static u8 sCurDecorCatCount = 0; +EWRAM_DATA u8 *gCurDecorationItems = NULL; +EWRAM_DATA static u8 sDecorationActionsCursorPos = 0; +EWRAM_DATA static u8 sNumOwnedDecorationsInCurCategory = 0; EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {}; EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {}; -EWRAM_DATA static u16 sSecretBasePCSelectDecorLineNo = 0; -EWRAM_DATA static u16 sSecretBasePCSelectDecorPageNo = 0; +EWRAM_DATA static u16 sDecorationsCursorPos = 0; +EWRAM_DATA static u16 sDecorationsScrollOffset = 0; EWRAM_DATA u8 gCurDecorationIndex = 0; EWRAM_DATA static u8 sCurDecorationCategory = DECORCAT_DESK; EWRAM_DATA static u32 filler_0203a174[2] = {}; -EWRAM_DATA struct DecorPCPointers gUnknown_0203A17C = {}; -EWRAM_DATA static u8 sDecorMenuWindowIndices[4] = {}; -EWRAM_DATA struct DecorPCBuffer *sDecorPCBuffer = NULL; +EWRAM_DATA struct DecorationPCContext gDecorationContext = {}; +EWRAM_DATA static u8 sDecorMenuWindowIds[4] = {}; +EWRAM_DATA static struct DecorationItemsMenu *sDecorationItemsMenu = NULL; EWRAM_DATA struct PlaceDecorationGraphicsDataBuffer sPlaceDecorationGraphicsDataBuffer = {}; EWRAM_DATA static u16 sCurDecorMapX = 0; EWRAM_DATA static u16 sCurDecorMapY = 0; @@ -89,38 +88,36 @@ EWRAM_DATA static struct OamData sDecorSelectorOam = {}; EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {}; EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0; -// Static ROM declarations - -void sub_8126B80(u8 taskId); -void sub_8126C08(void); -void SecretBasePC_Decorate(u8 taskId); -void SecretBasePC_PutAway(u8 taskId); -void SecretBasePC_Toss(u8 taskId); -void sub_8126DA4(u8 taskId); -void SecretBasePC_Cancel(u8 taskId); -void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId); -void sub_8126DFC(u8 taskId); -void sub_8126E8C(u8 taskId); -void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed); -void sub_8127058(u8 *str, bool8 flag); -void sub_8127088(u8 taskId); -void sub_81270E8(u8 taskId); -void sub_8127180(u8 taskId); -void sub_812719C(u8 taskId); -void sub_81271CC(u8 taskId); -void sub_8127268(u8 taskId); -void sub_8127454(u8 *dest, u16 decorId); -void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu); +static void HandleDecorationActionsMenuInput(u8 taskId); +static void PrintCurMainMenuDescription(void); +static void DecorationMenuAction_Decorate(u8 taskId); +static void DecorationMenuAction_PutAway(u8 taskId); +static void DecorationMenuAction_Toss(u8 taskId); +static void DecorationMenuAction_Cancel(u8 taskId); +static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId); +static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId); +static void InitDecorationCategoriesWindow(u8 taskId); +static void PrintDecorationCategoryMenuItems(u8 taskId); +static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed); +static void ColorMenuItemString(u8 *str, bool8 disabled); +static void HandleDecorationCategoriesMenuInput(u8 taskId); +static void SelectDecorationCategory(u8 taskId); +static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId); +static void ExitDecorationCategoriesMenu(u8 taskId); +static void ReturnToActionsMenuFromCategories(u8 taskId); +static void ExitTraderDecorationMenu(u8 taskId); +static void CopyDecorationMenuItemName(u8 *dest, u16 decoration); +static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu); void sub_81274A0(u8 a0, s32 a1, u8 a2); -void sub_8127620(u8 taskId); -void sub_812764C(u8 taskId); -void sub_8127744(u32 a0); -void sub_81277A8(void); +static void ShowDecorationItemsWindow(u8 taskId); +static void HandleDecorationItemsMenuInput(u8 taskId); +static void PrintDecorationItemDescription(u32 itemIndex); +static void RemoveDecorationItemsOtherWindows(void); bool8 sub_81277BC(u8 idx); bool8 sub_81277E8(u8 idx); -void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId); -void sub_812759C(u8 taskId); -void sub_8127718(u8 decorCat); +static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId); +static void InitDecorationItemsWindow(u8 taskId); +static void ShowDecorationCategorySummaryWindow(u8 category); void sub_8127A30(u8 taskId); void sub_8127A8C(u8 taskId); void sub_8127F68(u8 taskId); @@ -168,13 +165,12 @@ void sub_812A3D4(u8 taskId); void sub_812A458(u8 taskId); void sub_812A478(u8 taskId); -// .rodata - #include "data/decoration/tiles.h" #include "data/decoration/description.h" #include "data/decoration/header.h" -const u8 *const sDecorCatNames[] = { +static const u8 *const sDecorationCategoryNames[] = +{ gText_Desk, gText_Chair, gText_Plant, @@ -185,36 +181,42 @@ const u8 *const sDecorCatNames[] = { gText_Cushion }; -const struct MenuAction sSecretBasePCMenuActions[] = { +static const struct MenuAction sDecorationMainMenuActions[] = +{ { - gText_Decorate, {.void_u8=SecretBasePC_Decorate} - }, { - gText_PutAway, {.void_u8=SecretBasePC_PutAway} - }, { - gText_Toss2, {.void_u8=SecretBasePC_Toss} - }, { - gText_Cancel, {.void_u8=SecretBasePC_Cancel} - } + .text = gText_Decorate, + .func = { .void_u8 = DecorationMenuAction_Decorate }, + }, + { + .text = gText_PutAway, + .func = { .void_u8 = DecorationMenuAction_PutAway }, + }, + { + .text = gText_Toss2, + .func = { .void_u8 = DecorationMenuAction_Toss }, + }, + { + .text = gText_Cancel, + .func = { .void_u8 = DecorationMenuAction_Cancel }, + }, }; -const u8 *const sSecretBasePCMenuItemDescriptions[] = { +static const u8 *const sSecretBasePCMenuItemDescriptions[] = +{ gText_PutOutSelectedDecorItem, gText_StoreChosenDecorInPC, gText_ThrowAwayUnwantedDecors, gText_GoBackPrevMenu }; -void (*const SecretBasePC_SelectedDecorActions[][2])(u8 taskId) = { - { - sub_8127F68, sub_8127A8C - }, { - sub_812A3D4, sub_8127A8C - }, { - sub_8133DA0, sub_8127A8C - } +static const TaskFunc sSecretBasePC_SelectedDecorationActions[][2] = +{ + { sub_8127F68, sub_8127A8C }, + { sub_812A3D4, sub_8127A8C }, + { sub_8133DA0, sub_8127A8C }, }; -const struct WindowTemplate gUnknown_085A6B90[4] = +static const struct WindowTemplate sDecorationWindowTemplates[4] = { { .bg = 0, @@ -254,12 +256,12 @@ const struct WindowTemplate gUnknown_085A6B90[4] = } }; -const u16 gUnknown_085A6BB0[] = INCBIN_U16("graphics/decorations/unk_85a6bb0.gbapal"); +static const u16 sDecorationMenuPalette[] = INCBIN_U16("graphics/decorations/decoration_menu.gbapal"); -const struct ListMenuTemplate gUnknown_085A6BD0 = +static const struct ListMenuTemplate sDecorationItemsListMenuTemplate = { .items = NULL, - .moveCursorFunc = sub_8127480, + .moveCursorFunc = DecorationItemsMenu_OnCursorMove, .itemPrintFunc = sub_81274A0, .totalItems = 0, .maxShowed = 0, @@ -280,118 +282,140 @@ const struct ListMenuTemplate gUnknown_085A6BD0 = #include "data/decoration/icon.h" #include "data/decoration/tilemaps.h" -const struct { +static const struct { u8 shape; u8 size; - u8 x; - u8 y; -} gUnknown_085A7250[] = { - {0, 1, 0x78, 0x4e}, - {1, 2, 0x80, 0x4e}, - {1, 3, 0x90, 0x56}, - {1, 3, 0x90, 0x46}, - {0, 2, 0x80, 0x46}, - {2, 2, 0x78, 0x46}, - {2, 3, 0x80, 0x56}, - {2, 3, 0x80, 0x36}, - {0, 3, 0x90, 0x46}, - {1, 3, 0x90, 0x46} + u8 cameraX; + u8 cameraY; +} sDecorationMovementInfo[] = +{ + [DECORSHAPE_1x1] = {SPRITE_SHAPE(16x16), SPRITE_SIZE(16x16), 120, 78}, + [DECORSHAPE_2x1] = {SPRITE_SHAPE(32x16), SPRITE_SIZE(32x16), 128, 78}, + [DECORSHAPE_3x1] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 86}, + [DECORSHAPE_4x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70}, + [DECORSHAPE_2x2] = {SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), 128, 70}, + [DECORSHAPE_1x2] = {SPRITE_SHAPE(16x32), SPRITE_SIZE(16x32), 120, 70}, + [DECORSHAPE_1x3] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 86}, + [DECORSHAPE_2x4] = {SPRITE_SHAPE(32x64), SPRITE_SIZE(32x64), 128, 54}, + [DECORSHAPE_3x3] = {SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), 144, 70}, + [DECORSHAPE_3x2] = {SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), 144, 70}, }; -const union AnimCmd gUnknown_085A7278[] = { +static const union AnimCmd sDecorSelectorAnimCmd0[] = +{ ANIMCMD_FRAME(0, 0, FALSE, FALSE), ANIMCMD_END }; -const union AnimCmd *const sDecorSelectorAnims[] = { - gUnknown_085A7278 -}; +static const union AnimCmd *const sDecorSelectorAnimCmds[] = { sDecorSelectorAnimCmd0 }; -const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = { - (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image, 0x800 +static const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = +{ + .data = (const u8 *)&sPlaceDecorationGraphicsDataBuffer.image, + .size = 0x800, }; -const struct SpriteTemplate sDecorSelectorSpriteTemplate = { +static const struct SpriteTemplate sDecorationSelectorSpriteTemplate = +{ 0xFFFF, - OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG, + PLACE_DECORATION_SELECTOR_TAG, &sDecorSelectorOam, - sDecorSelectorAnims, + sDecorSelectorAnimCmds, &sDecorSelectorSpriteFrameImages, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate = { +const struct SpriteTemplate sDecorWhilePlacingSpriteTemplate = +{ 0x0000, 0x0000, &sDecorSelectorOam, - sDecorSelectorAnims, + sDecorSelectorAnimCmds, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -const struct SpritePalette gUnknown_085A72BC = { - (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette, OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG +const struct SpritePalette gUnknown_085A72BC = +{ + .data = (const u16 *)&sPlaceDecorationGraphicsDataBuffer.palette, + .tag = PLACE_DECORATION_SELECTOR_TAG, }; -const struct YesNoFuncTable gUnknown_085A72C4 = { - sub_81289F0, - sub_8128FD8 +const struct YesNoFuncTable gUnknown_085A72C4 = +{ + .yesFunc = sub_81289F0, + .noFunc = sub_8128FD8, }; -const struct YesNoFuncTable gUnknown_085A72CC = { - sub_8128BA0, - sub_8128FD8 +const struct YesNoFuncTable gUnknown_085A72CC = +{ + .yesFunc = sub_8128BA0, + .noFunc = sub_8128FD8, }; -const struct YesNoFuncTable gUnknown_085A72D4[] = { +const struct YesNoFuncTable gUnknown_085A72D4[] = +{ { - sub_81283BC, - sub_8128414 - }, { - sub_8129BCC, - sub_8129BF8 + .yesFunc = sub_81283BC, + .noFunc = sub_8128414, + }, + { + .yesFunc = sub_8129BCC, + .noFunc = sub_8129BF8, } }; -const u8 gUnknown_085A72E4[] = { - 0x04, 0x04, 0x04, 0x04, 0x00, 0x03, 0x03, 0x00 +static const u8 sDecorationStandElevations[] = +{ + 4, 4, 4, 4, + 0, 3, 3, 0 }; -const u8 gUnknown_085A72EC[] = { - 0x04, 0x04, 0x04, 0x04, 0x00, 0x04, 0x03, 0x00 +static const u8 sDecorationSlideElevation[] = +{ + 4, 4, + 4, 4, + 0, 4, + 3, 0, }; const u16 gUnknown_085A72F4[] = { 0x04, 0x08, 0x10, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x20 }; -const u16 Unknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal"); +const u16 gUnknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gbapal"); -const u16 Unknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal"); +const u16 gUnknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal"); -const struct YesNoFuncTable gUnknown_085A7348 = { - sub_812A1C0, - sub_8129B34 +const struct YesNoFuncTable gUnknown_085A7348 = +{ + .yesFunc = sub_812A1C0, + .noFunc = sub_8129B34, }; -const struct YesNoFuncTable gUnknown_085A7350 = { - sub_812A210, - sub_8129B34 +const struct YesNoFuncTable gUnknown_085A7350 = +{ + .yesFunc = sub_812A210, + .noFunc = sub_8129B34, }; -const u8 Unknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp"); +const u8 gUnknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp"); -const struct SpritePalette gUnknown_085A73D8 = { - Unknown_085A7308, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG +const struct SpritePalette gUnknown_085A73D8 = +{ + .data = gUnknown_085A7308, + .tag = PLACE_DECORATION_PLAYER_TAG, }; -const struct SpritePalette gUnknown_085A73E0 = { - Unknown_085A7328, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG +const struct SpritePalette gUnknown_085A73E0 = +{ + .data = gUnknown_085A7328, + .tag = PLACE_DECORATION_PLAYER_TAG, }; -const struct OamData Unknown_085A73E8 = +const struct OamData gUnknown_085A73E8 = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -405,164 +429,163 @@ const struct OamData Unknown_085A73E8 = .paletteNum = 0, }; -const union AnimCmd Unknown_085A73F0[] = { +const union AnimCmd gUnknown_085A73F0[] = +{ ANIMCMD_FRAME(0, 0, 0), ANIMCMD_END }; -const union AnimCmd *const Unknown_085A73F8[] = { - Unknown_085A73F0 +const union AnimCmd *const gUnknown_085A73F8[] = +{ + gUnknown_085A73F0, }; -const struct SpriteFrameImage Unknown_085A73FC = { - Unknown_085A7358, 0x80 +const struct SpriteFrameImage gUnknown_085A73FC = +{ + .data = gUnknown_085A7358, + .size = 0x80, }; -const struct SpriteTemplate gUnknown_085A7404 = { +const struct SpriteTemplate gUnknown_085A7404 = +{ 0xFFFF, - OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG, - &Unknown_085A73E8, - Unknown_085A73F8, - &Unknown_085A73FC, + PLACE_DECORATION_PLAYER_TAG, + &gUnknown_085A73E8, + gUnknown_085A73F8, + &gUnknown_085A73FC, gDummySpriteAffineAnimTable, sub_812A36C }; -const struct YesNoFuncTable gUnknown_085A741C = { - sub_812A478, - sub_8127A30 +const struct YesNoFuncTable gUnknown_085A741C = +{ + .yesFunc = sub_812A478, + .noFunc = sub_8127A30, }; -// .text -void sub_8126968(void) +void InitDecorationContextItems(void) { - if (sCurDecorationCategory < 8) - { - gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items; - } - if (gUnknown_0203A17C.isPlayerRoom == FALSE) + if (sCurDecorationCategory < DECORCAT_COUNT) + gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items; + + if (gDecorationContext.isPlayerRoom == FALSE) { - gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos; + gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations; + gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; } - if (gUnknown_0203A17C.isPlayerRoom == TRUE) + + if (gDecorationContext.isPlayerRoom == TRUE) { - gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos; + gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor; + gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos; } } -u8 sub_81269D4(u8 idx) +static u8 AddDecorationWindow(u8 windowIndex) { - u8 *winidx; + u8 *windowId; struct WindowTemplate template; - winidx = &sDecorMenuWindowIndices[idx]; - if (idx == 0) + windowId = &sDecorMenuWindowIds[windowIndex]; + if (windowIndex == 0) { - template = gUnknown_085A6B90[0]; - template.width = GetMaxWidthInMenuTable(sSecretBasePCMenuActions, 4); + template = sDecorationWindowTemplates[0]; + template.width = GetMaxWidthInMenuTable(sDecorationMainMenuActions, ARRAY_COUNT(sDecorationMainMenuActions)); if (template.width > 18) - { template.width = 18; - } - *winidx = AddWindow(&template); + + *windowId = AddWindow(&template); } else { - *winidx = AddWindow(&gUnknown_085A6B90[idx]); + *windowId = AddWindow(&sDecorationWindowTemplates[windowIndex]); } - DrawStdFrameWithCustomTileAndPalette(*winidx, 0, 0x214, 0xe); + + DrawStdFrameWithCustomTileAndPalette(*windowId, FALSE, 0x214, 14); schedule_bg_copy_tilemap_to_vram(0); - return *winidx; + return *windowId; } -void sub_8126A58(u8 idx) +static void RemoveDecorationWindow(u8 windowIndex) { - ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIndices[idx], FALSE); - ClearWindowTilemap(sDecorMenuWindowIndices[idx]); - RemoveWindow(sDecorMenuWindowIndices[idx]); + ClearStdWindowAndFrameToTransparent(sDecorMenuWindowIds[windowIndex], FALSE); + ClearWindowTilemap(sDecorMenuWindowIds[windowIndex]); + RemoveWindow(sDecorMenuWindowIds[windowIndex]); schedule_bg_copy_tilemap_to_vram(0); } -void sub_8126A88(void) +static void AddDecorationActionsWindow(void) { - u8 idx; - - idx = sub_81269D4(0); - PrintMenuTable(idx, 4, sSecretBasePCMenuActions); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(idx, 4, sSecretBasePCMenuCursorPos); + u8 windowId = AddDecorationWindow(0); + PrintMenuTable(windowId, 4, sDecorationMainMenuActions); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, 4, sDecorationActionsCursorPos); } -void sub_8126ABC(void) +static void InitDecorationActionsWindow(void) { - sSecretBasePCMenuCursorPos = 0; + sDecorationActionsCursorPos = 0; ScriptContext2_Enable(); - sub_8126A88(); - sub_8126C08(); + AddDecorationActionsWindow(); + PrintCurMainMenuDescription(); } -void sub_8126AD8(u8 taskId) +void DoSecretBaseDecorationMenu(u8 taskId) { - sub_8126ABC(); - gUnknown_0203A17C.items = gSaveBlock1Ptr->secretBases[0].decorations; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->secretBases[0].decorationPos; - gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations); - gUnknown_0203A17C.isPlayerRoom = FALSE; - gTasks[taskId].func = sub_8126B80; + InitDecorationActionsWindow(); + gDecorationContext.items = gSaveBlock1Ptr->secretBases[0].decorations; + gDecorationContext.pos = gSaveBlock1Ptr->secretBases[0].decorationPositions; + gDecorationContext.size = sizeof(gSaveBlock1Ptr->secretBases[0].decorations); + gDecorationContext.isPlayerRoom = FALSE; + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8126B2C(u8 taskId) +void DoPlayerRoomDecorationMenu(u8 taskId) { - sub_8126ABC(); - gUnknown_0203A17C.items = gSaveBlock1Ptr->playerRoomDecor; - gUnknown_0203A17C.pos = gSaveBlock1Ptr->playerRoomDecorPos; - gUnknown_0203A17C.size = sizeof(gSaveBlock1Ptr->playerRoomDecor); - gUnknown_0203A17C.isPlayerRoom = TRUE; - gTasks[taskId].func = sub_8126B80; + InitDecorationActionsWindow(); + gDecorationContext.items = gSaveBlock1Ptr->playerRoomDecor; + gDecorationContext.pos = gSaveBlock1Ptr->playerRoomDecorPos; + gDecorationContext.size = sizeof(gSaveBlock1Ptr->playerRoomDecor); + gDecorationContext.isPlayerRoom = TRUE; + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8126B80(u8 taskId) +static void HandleDecorationActionsMenuInput(u8 taskId) { - u8 menuPos; - if (!gPaletteFade.active) { - menuPos = Menu_GetCursorPos(); + s8 menuPos = Menu_GetCursorPos(); switch (Menu_ProcessInput()) { - default: - PlaySE(SE_SELECT); - sSecretBasePCMenuActions[sSecretBasePCMenuCursorPos].func.void_u8(taskId); - break; - case MENU_NOTHING_CHOSEN: - sSecretBasePCMenuCursorPos = Menu_GetCursorPos(); - if ((s8)menuPos != sSecretBasePCMenuCursorPos) - { - sub_8126C08(); - } - break; - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - SecretBasePC_Cancel(taskId); - break; + default: + PlaySE(SE_SELECT); + sDecorationMainMenuActions[sDecorationActionsCursorPos].func.void_u8(taskId); + break; + case MENU_NOTHING_CHOSEN: + sDecorationActionsCursorPos = Menu_GetCursorPos(); + if (menuPos != sDecorationActionsCursorPos) + PrintCurMainMenuDescription(); + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + DecorationMenuAction_Cancel(taskId); + break; } } } -void sub_8126C08(void) +static void PrintCurMainMenuDescription(void) { FillWindowPixelBuffer(0, PIXEL_FILL(1)); - AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, 2, 1, 3); } -void SecretBasePC_Decorate(u8 taskId) +static void DecorationMenuAction_Decorate(u8 taskId) { - if (CountDecorations() == 0) + if (GetNumOwnedDecorations() == 0) { StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { @@ -572,16 +595,16 @@ void SecretBasePC_Decorate(u8 taskId) } } -void SecretBasePC_PutAway(u8 taskId) +static void DecorationMenuAction_PutAway(u8 taskId) { if (!sub_81299AC(taskId)) { StringExpandPlaceholders(gStringVar4, gText_NoDecorationsInUse); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { - sub_8126A58(0); + RemoveDecorationWindow(0); ClearDialogWindowAndFrame(0, 0); FadeScreen(1, 0); gTasks[taskId].data[2] = 0; @@ -589,12 +612,12 @@ void SecretBasePC_PutAway(u8 taskId) } } -void SecretBasePC_Toss(u8 taskId) +static void DecorationMenuAction_Toss(u8 taskId) { - if (CountDecorations() == 0) + if (GetNumOwnedDecorations() == 0) { StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8126DA4); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationActionsAfterInvalidSelection); } else { @@ -604,10 +627,10 @@ void SecretBasePC_Toss(u8 taskId) } } -void SecretBasePC_Cancel(u8 taskId) +static void DecorationMenuAction_Cancel(u8 taskId) { - sub_8126A58(0); - if (!gUnknown_0203A17C.isPlayerRoom) + RemoveDecorationWindow(0); + if (!gDecorationContext.isPlayerRoom) { ScriptContext1_SetupScript(gUnknown_0823B4E8); DestroyTask(taskId); @@ -618,260 +641,237 @@ void SecretBasePC_Cancel(u8 taskId) } } -void sub_8126DA4(u8 taskId) +static void ReturnToDecorationActionsAfterInvalidSelection(u8 taskId) { - sub_8126C08(); - gTasks[taskId].func = sub_8126B80; + PrintCurMainMenuDescription(); + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) +static void SecretBasePC_PrepMenuForSelectingStoredDecors(u8 taskId) { - LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); ClearDialogWindowAndFrame(0, 0); - sub_8126A58(0); - sub_8126DFC(taskId); + RemoveDecorationWindow(0); + InitDecorationCategoriesWindow(taskId); } -void sub_8126DFC(u8 taskId) +static void InitDecorationCategoriesWindow(u8 taskId) { - u8 winIdx; - - winIdx = sub_81269D4(1); - sub_8126E8C(taskId); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(winIdx, 9, sCurDecorationCategory); - gTasks[taskId].func = sub_8127088; + u8 windowId = AddDecorationWindow(1); + PrintDecorationCategoryMenuItems(taskId); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, DECORCAT_COUNT + 1, sCurDecorationCategory); + gTasks[taskId].func = HandleDecorationCategoriesMenuInput; } -void sub_8126E44(u8 taskId) +static void sub_8126E44(u8 taskId) { - FillWindowPixelBuffer(sDecorMenuWindowIndices[1], PIXEL_FILL(1)); - sub_8126E8C(taskId); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIndices[1], 9, sCurDecorationCategory); - gTasks[taskId].func = sub_8127088; + FillWindowPixelBuffer(sDecorMenuWindowIds[1], PIXEL_FILL(1)); + PrintDecorationCategoryMenuItems(taskId); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sDecorMenuWindowIds[1], DECORCAT_COUNT + 1, sCurDecorationCategory); + gTasks[taskId].func = HandleDecorationCategoriesMenuInput; } -void sub_8126E8C(u8 taskId) +static void PrintDecorationCategoryMenuItems(u8 taskId) { - s16 *data; - u8 r5; - bool8 r8; u8 i; - bool8 fl; - - data = gTasks[taskId].data; - r5 = sDecorMenuWindowIndices[1]; - fl = gUnknown_0203A17C.isPlayerRoom; - r8 = FALSE; - if (fl == TRUE && data[11] == 0) - { - r8 = TRUE; - } - for (i = 0; i < 8; i ++) - { - if (r8 == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION) - { - sub_8126F68(r5, i, 8, i << 4, TRUE, 0xFF); - } + s16 *data = gTasks[taskId].data; + u8 windowId = sDecorMenuWindowIds[1]; + bool8 isPlayerRoom = gDecorationContext.isPlayerRoom; + bool8 shouldDisable = FALSE; + if (isPlayerRoom == TRUE && data[11] == 0) + shouldDisable = TRUE; + + for (i = 0; i < DECORCAT_COUNT; i++) + { + // Only DOLL and CUSHION decorations are enabled when decorating the player's room. + if (shouldDisable == TRUE && i != DECORCAT_DOLL && i != DECORCAT_CUSHION) + PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, TRUE, TEXT_SPEED_FF); else - { - sub_8126F68(r5, i, 8, i << 4, FALSE, 0xFF); - } + PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, FALSE, TEXT_SPEED_FF); } - AddTextPrinterParameterized(r5, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, (i << 4) + 1, 0, 0); + + AddTextPrinterParameterized(windowId, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, i * 16 + 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); } -void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed) +static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, bool8 disabled, u8 speed) { u8 width; - u8 *strbuf; + u8 *str; - width = x == 8 ? 0x68 : 0x60; - y ++; - sub_8127058(gStringVar4, flag); - strbuf = StringLength(gStringVar4) + gStringVar4; - StringCopy(strbuf, sDecorCatNames[decorCat]); + width = x == 8 ? 104 : 96; + y++; + ColorMenuItemString(gStringVar4, disabled); + str = StringLength(gStringVar4) + gStringVar4; + StringCopy(str, sDecorationCategoryNames[category]); AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL); - strbuf = ConvertIntToDecimalStringN(strbuf, CountDecorationCategoryN(decorCat), STR_CONV_MODE_RIGHT_ALIGN, 2); - *strbuf++ = CHAR_SLASH; - ConvertIntToDecimalStringN(strbuf, gDecorationInventories[decorCat].size, STR_CONV_MODE_RIGHT_ALIGN, 2); + str = ConvertIntToDecimalStringN(str, GetNumOwnedDecorationsInCategory(category), STR_CONV_MODE_RIGHT_ALIGN, 2); + *(str++) = CHAR_SLASH; + ConvertIntToDecimalStringN(str, gDecorationInventories[category].size, STR_CONV_MODE_RIGHT_ALIGN, 2); x = GetStringRightAlignXOffset(1, gStringVar4, width); AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL); } -void sub_8127058(u8 *str, bool8 flag) +static void ColorMenuItemString(u8 *str, bool8 disabled) { StringCopy(str, gText_Color161Shadow161); - if (flag == TRUE) + if (disabled == TRUE) { - str[2] = 0x04; // RED - str[5] = 0x05; // LIGHT_RED + str[2] = 4; + str[5] = 5; } else { - str[2] = 0x02; // DARK_GREY - str[5] = 0x03; // LIGHT_GREY + str[2] = 2; + str[5] = 3; } } -void sub_8127088(u8 taskId) +static void HandleDecorationCategoriesMenuInput(u8 taskId) { - s8 input; - if (!gPaletteFade.active) { - input = Menu_ProcessInput(); + s8 input = Menu_ProcessInput(); switch (input) { - case MENU_B_PRESSED: - case 8: - PlaySE(SE_SELECT); - sub_812719C(taskId); - break; - case MENU_NOTHING_CHOSEN: - break; - default: - PlaySE(SE_SELECT); - sCurDecorationCategory = input; - sub_81270E8(taskId); - break; + case MENU_B_PRESSED: + case DECORCAT_COUNT: // CANCEL + PlaySE(SE_SELECT); + ExitDecorationCategoriesMenu(taskId); + break; + case MENU_NOTHING_CHOSEN: + break; + default: + PlaySE(SE_SELECT); + sCurDecorationCategory = input; + SelectDecorationCategory(taskId); + break; } } } -void sub_81270E8(u8 taskId) +static void SelectDecorationCategory(u8 taskId) { - sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory); - if (sCurDecorCatCount != 0) + sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory); + if (sNumOwnedDecorationsInCurCategory != 0) { - CondenseDecorationCategoryN(sCurDecorationCategory); - gCurDecorInventoryItems = gDecorationInventories[sCurDecorationCategory].items; + CondenseDecorationsInCategory(sCurDecorationCategory); + gCurDecorationItems = gDecorationInventories[sCurDecorationCategory].items; IdentifyOwnedDecorationsCurrentlyInUse(taskId); - sSecretBasePCSelectDecorPageNo = 0; - sSecretBasePCSelectDecorLineNo = 0; - gTasks[taskId].func = sub_8127620; + sDecorationsScrollOffset = 0; + sDecorationsCursorPos = 0; + gTasks[taskId].func = ShowDecorationItemsWindow; } else { - sub_8126A58(1); + RemoveDecorationWindow(1); StringExpandPlaceholders(gStringVar4, gText_NoDecorations); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8127180); + DisplayItemMessageOnField(taskId, gStringVar4, ReturnToDecorationCategoriesAfterInvalidSelection); } } -void sub_8127180(u8 taskId) +static void ReturnToDecorationCategoriesAfterInvalidSelection(u8 taskId) { ClearDialogWindowAndFrame(0, 0); - sub_8126DFC(taskId); + InitDecorationCategoriesWindow(taskId); } -void sub_812719C(u8 taskId) +static void ExitDecorationCategoriesMenu(u8 taskId) { if (gTasks[taskId].data[11] != 2) - { - sub_81271CC(taskId); - } + ReturnToActionsMenuFromCategories(taskId); else - { - sub_8127268(taskId); - } + ExitTraderDecorationMenu(taskId); } -void sub_81271CC(u8 taskId) +static void ReturnToActionsMenuFromCategories(u8 taskId) { - sub_8126A58(1); - sub_8126A88(); + RemoveDecorationWindow(1); + AddDecorationActionsWindow(); DrawDialogueFrame(0, 0); - sub_8126C08(); - gTasks[taskId].func = sub_8126B80; + PrintCurMainMenuDescription(); + gTasks[taskId].func = HandleDecorationActionsMenuInput; } -void sub_8127208(u8 taskId) +void ShowDecorationCategoriesWindow(u8 taskId) { - LoadPalette(gUnknown_085A6BB0, 0xd0, 0x20); + LoadPalette(sDecorationMenuPalette, 0xd0, 0x20); ClearDialogWindowAndFrame(0, 0); gTasks[taskId].data[11] = 2; sCurDecorationCategory = DECORCAT_DESK; - sub_8126DFC(taskId); + InitDecorationCategoriesWindow(taskId); } -void sub_8127250(u8 *dest, u8 decorCat) +void CopyDecorationCategoryName(u8 *dest, u8 category) { - StringCopy(dest, sDecorCatNames[decorCat]); + StringCopy(dest, sDecorationCategoryNames[category]); } -void sub_8127268(u8 taskId) +static void ExitTraderDecorationMenu(u8 taskId) { - sub_8126A58(1); - sub_8133E1C(taskId); + RemoveDecorationWindow(1); + ExitTraderMenu(taskId); } -void sub_8127284(void) +static void InitDecorationItemsMenuLimits(void) { - sDecorPCBuffer->unk_520 = sCurDecorCatCount + 1; - if (sDecorPCBuffer->unk_520 > 8) - { - sDecorPCBuffer->unk_521 = 8; - } + sDecorationItemsMenu->numMenuItems = sNumOwnedDecorationsInCurCategory + 1; + if (sDecorationItemsMenu->numMenuItems > 8) + sDecorationItemsMenu->maxShownItems = 8; else - { - sDecorPCBuffer->unk_521 = sDecorPCBuffer->unk_520; - } + sDecorationItemsMenu->maxShownItems = sDecorationItemsMenu->numMenuItems; } -void sub_81272C8(void) +static void sub_81272C8(void) { - sub_812225C(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520); + sub_812225C(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems); } -void sub_81272F8(void) +static void sub_81272F8(void) { - sub_8122298(&sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo, sDecorPCBuffer->unk_521, sDecorPCBuffer->unk_520, 8); + sub_8122298(&sDecorationsScrollOffset, &sDecorationsCursorPos, sDecorationItemsMenu->maxShownItems, sDecorationItemsMenu->numMenuItems, 8); } -void sub_8127330(u8 taskId) +static void PrintDecorationItemMenuItems(u8 taskId) { s16 *data; u16 i; data = gTasks[taskId].data; - if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gUnknown_0203A17C.isPlayerRoom == TRUE && data[11] == 0) - { - sub_8127058(gStringVar1, TRUE); - } + if ((sCurDecorationCategory < DECORCAT_DOLL || sCurDecorationCategory > DECORCAT_CUSHION) && gDecorationContext.isPlayerRoom == TRUE && data[11] == 0) + ColorMenuItemString(gStringVar1, TRUE); else + ColorMenuItemString(gStringVar1, FALSE); + + for (i = 0; i < sDecorationItemsMenu->numMenuItems - 1; i++) { - sub_8127058(gStringVar1, FALSE); - } - for (i = 0; i < sDecorPCBuffer->unk_520 - 1; i ++) - { - sub_8127454(sDecorPCBuffer->names[i], gCurDecorInventoryItems[i]); - sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].id = i; + CopyDecorationMenuItemName(sDecorationItemsMenu->names[i], gCurDecorationItems[i]); + sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i]; + sDecorationItemsMenu->items[i].id = i; } - StringCopy(sDecorPCBuffer->names[i], gText_Cancel); - sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].id = -2; - gMultiuseListMenuTemplate = gUnknown_085A6BD0; - gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIndices[1]; - gMultiuseListMenuTemplate.totalItems = sDecorPCBuffer->unk_520; - gMultiuseListMenuTemplate.items = sDecorPCBuffer->items; - gMultiuseListMenuTemplate.maxShowed = sDecorPCBuffer->unk_521; + + StringCopy(sDecorationItemsMenu->names[i], gText_Cancel); + sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i]; + sDecorationItemsMenu->items[i].id = -2; + gMultiuseListMenuTemplate = sDecorationItemsListMenuTemplate; + gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIds[1]; + gMultiuseListMenuTemplate.totalItems = sDecorationItemsMenu->numMenuItems; + gMultiuseListMenuTemplate.items = sDecorationItemsMenu->items; + gMultiuseListMenuTemplate.maxShowed = sDecorationItemsMenu->maxShownItems; } -void sub_8127454(u8 *dest, u16 decorId) +static void CopyDecorationMenuItemName(u8 *dest, u16 decoration) { StringCopy(dest, gStringVar1); - StringAppend(dest, gDecorations[decorId].name); + StringAppend(dest, gDecorations[decoration].name); } -void sub_8127480(s32 a0, bool8 flag, struct ListMenu *menu) +static void DecorationItemsMenu_OnCursorMove(s32 itemIndex, bool8 flag, struct ListMenu *menu) { if (flag != TRUE) - { PlaySE(SE_SELECT); - } - sub_8127744(a0); + + PrintDecorationItemDescription(itemIndex); } void sub_81274A0(u8 a0, s32 a1, u8 a2) @@ -889,53 +889,59 @@ void sub_81274A0(u8 a0, s32 a1, u8 a2) } } -void sub_8127500(void) +static void AddDecorationItemsScrollIndicators(void) { - if (sDecorPCBuffer->unk_522 == 0xFF) + if (sDecorationItemsMenu->scrollIndicatorsTaskId == 0xFF) { - sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo); + sDecorationItemsMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized( + SCROLL_ARROW_UP, + 0x3c, + 0x0c, + 0x94, + sDecorationItemsMenu->numMenuItems - sDecorationItemsMenu->maxShownItems, + 0x6e, + 0x6e, + &sDecorationsScrollOffset); } } -void sub_8127554(void) +static void RemoveDecorationItemsScrollIndicators(void) { - if (sDecorPCBuffer->unk_522 != 0xFF) + if (sDecorationItemsMenu->scrollIndicatorsTaskId != 0xFF) { - RemoveScrollIndicatorArrowPair(sDecorPCBuffer->unk_522); - sDecorPCBuffer->unk_522 = 0xFF; + RemoveScrollIndicatorArrowPair(sDecorationItemsMenu->scrollIndicatorsTaskId); + sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF; } } void sub_8127580(u8 taskId) { - sub_81269D4(1); - sub_812759C(taskId); + AddDecorationWindow(1); + InitDecorationItemsWindow(taskId); } -void sub_812759C(u8 taskId) +static void InitDecorationItemsWindow(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_81269D4(3); - sub_8127718(sCurDecorationCategory); - sDecorPCBuffer = calloc(1, sizeof(struct DecorPCBuffer)); - sDecorPCBuffer->unk_522 = 0xFF; - sub_8127284(); + s16 *data = gTasks[taskId].data; + AddDecorationWindow(3); + ShowDecorationCategorySummaryWindow(sCurDecorationCategory); + sDecorationItemsMenu = AllocZeroed(sizeof(*sDecorationItemsMenu)); + sDecorationItemsMenu->scrollIndicatorsTaskId = 0xFF; + InitDecorationItemsMenuLimits(); sub_81272C8(); sub_81272F8(); - sub_8127330(taskId); - data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo); - sub_8127500(); + PrintDecorationItemMenuItems(taskId); + data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sDecorationsScrollOffset, sDecorationsCursorPos); + AddDecorationItemsScrollIndicators(); } -void sub_8127620(u8 taskId) +static void ShowDecorationItemsWindow(u8 taskId) { - sub_812759C(taskId); - gTasks[taskId].func = sub_812764C; + InitDecorationItemsWindow(taskId); + gTasks[taskId].func = HandleDecorationItemsMenuInput; } -void sub_812764C(u8 taskId) +static void HandleDecorationItemsMenuInput(u8 taskId) { s16 *data; s32 input; @@ -944,129 +950,125 @@ void sub_812764C(u8 taskId) if (!gPaletteFade.active) { input = ListMenu_ProcessInput(data[13]); - ListMenuGetScrollAndRow(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); + ListMenuGetScrollAndRow(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos); switch (input) { - case LIST_NOTHING_CHOSEN: - break; - case LIST_CANCEL: - PlaySE(SE_SELECT); - SecretBasePC_SelectedDecorActions[data[11]][1](taskId); - break; - default: - PlaySE(SE_SELECT); - gCurDecorationIndex = input; - sub_8127554(); - DestroyListMenuTask(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); - sub_8126A58(1); - sub_81277A8(); - free(sDecorPCBuffer); - SecretBasePC_SelectedDecorActions[data[11]][0](taskId); - break; + case LIST_NOTHING_CHOSEN: + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + sSecretBasePC_SelectedDecorationActions[data[11]][1](taskId); + break; + default: + PlaySE(SE_SELECT); + gCurDecorationIndex = input; + RemoveDecorationItemsScrollIndicators(); + DestroyListMenuTask(data[13], &sDecorationsScrollOffset, &sDecorationsCursorPos); + RemoveDecorationWindow(1); + RemoveDecorationItemsOtherWindows(); + free(sDecorationItemsMenu); + sSecretBasePC_SelectedDecorationActions[data[11]][0](taskId); + break; } } } -void sub_8127718(u8 decorCat) +static void ShowDecorationCategorySummaryWindow(u8 category) { - sub_8126F68(sub_81269D4(2), decorCat, 0, 0, 0, 0); + PrintDecorationCategoryMenuItem(AddDecorationWindow(2), category, 0, 0, 0, 0); } -void sub_8127744(u32 a0) +static void PrintDecorationItemDescription(u32 itemIndex) { - u8 winidx; - const u8 *txt; + u8 windowId; + const u8 *str; - winidx = sDecorMenuWindowIndices[3]; - FillWindowPixelBuffer(winidx, PIXEL_FILL(1)); - if (a0 >= sCurDecorCatCount) - { - txt = gText_GoBackPrevMenu; - } + windowId = sDecorMenuWindowIds[3]; + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + if (itemIndex >= sNumOwnedDecorationsInCurCategory) + str = gText_GoBackPrevMenu; else - { - txt = gDecorations[gCurDecorInventoryItems[a0]].description; - } - AddTextPrinterParameterized(winidx, 1, txt, 0, 1, 0, 0); + str = gDecorations[gCurDecorationItems[itemIndex]].description; + + AddTextPrinterParameterized(windowId, 1, str, 0, 1, 0, 0); } -void sub_81277A8(void) +static void RemoveDecorationItemsOtherWindows(void) { - sub_8126A58(3); - sub_8126A58(2); + // Remove description and category summary windows + RemoveDecorationWindow(3); + RemoveDecorationWindow(2); } bool8 sub_81277BC(u8 idx) { u8 i; - - for (i = 0; i < 16; i ++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { if (sSecretBaseItemsIndicesBuffer[i] == idx) - { return TRUE; - } } + return FALSE; } bool8 sub_81277E8(u8 idx) { u8 i; - - for (i = 0; i < 12; i ++) + for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++) { if (sPlayerRoomItemsIndicesBuffer[i] == idx) - { return TRUE; - } } + return FALSE; } -void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) +static void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) { - u16 i; - u16 j; - u16 k; - u16 cnt; + u16 i, j, k; + u16 count; + + count = 0; + memset(sSecretBaseItemsIndicesBuffer, 0, sizeof(sSecretBaseItemsIndicesBuffer)); + memset(sPlayerRoomItemsIndicesBuffer, 0, sizeof(sPlayerRoomItemsIndicesBuffer)); - cnt = 0; - memset(sSecretBaseItemsIndicesBuffer, 0, 16); - memset(sPlayerRoomItemsIndicesBuffer, 0, 12); - for (i = 0; i < 16; i ++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { if (gSaveBlock1Ptr->secretBases[0].decorations[i] != DECOR_NONE) { - for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++) + for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++) { - if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i]) + if (gCurDecorationItems[j] == gSaveBlock1Ptr->secretBases[0].decorations[i]) { - for (k = 0; k < cnt && sSecretBaseItemsIndicesBuffer[k] != j + 1; k ++); - if (k == cnt) + for (k = 0; k < count && sSecretBaseItemsIndicesBuffer[k] != j + 1; k++) + ; + + if (k == count) { - sSecretBaseItemsIndicesBuffer[cnt] = j + 1; - cnt ++; + sSecretBaseItemsIndicesBuffer[count] = j + 1; + count++; break; } } } } } - cnt = 0; - for (i = 0; i < 12; i ++) + + count = 0; + for (i = 0; i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer); i++) { if (gSaveBlock1Ptr->playerRoomDecor[i] != DECOR_NONE) { - for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j ++) + for (j = 0; j < gDecorationInventories[sCurDecorationCategory].size; j++) { - if (gCurDecorInventoryItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE) + if (gCurDecorationItems[j] == gSaveBlock1Ptr->playerRoomDecor[i] && sub_81277BC(j + 1) != TRUE) { - for (k = 0; k < cnt && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k ++); - if (k == cnt) + for (k = 0; k < count && sPlayerRoomItemsIndicesBuffer[k] != j + 1; k++); + if (k == count) { - sPlayerRoomItemsIndicesBuffer[cnt] = j + 1; - cnt ++; + sPlayerRoomItemsIndicesBuffer[count] = j + 1; + count++; break; } } @@ -1075,7 +1077,7 @@ void IdentifyOwnedDecorationsCurrentlyInUseInternal(u8 taskId) } } -void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) +static void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) { IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); } @@ -1083,24 +1085,25 @@ void IdentifyOwnedDecorationsCurrentlyInUse(u8 taskId) bool8 IsSelectedDecorInThePC(void) { u16 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseItemsIndicesBuffer); i++) { - if (sSecretBaseItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1) - { + if (sSecretBaseItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1) return FALSE; - } - if (i < 12 && sPlayerRoomItemsIndicesBuffer[i] == sSecretBasePCSelectDecorPageNo + sSecretBasePCSelectDecorLineNo + 1) + + if (i < ARRAY_COUNT(sPlayerRoomItemsIndicesBuffer) + && sPlayerRoomItemsIndicesBuffer[i] == sDecorationsScrollOffset + sDecorationsCursorPos + 1) { return FALSE; } } + return TRUE; } -void sub_8127A14(u8 taskId) +static void sub_8127A14(u8 taskId) { - sub_81269D4(1); - sub_8127620(taskId); + AddDecorationWindow(1); + ShowDecorationItemsWindow(taskId); } void sub_8127A30(u8 taskId) @@ -1114,20 +1117,18 @@ void sub_8127A5C(u8 taskId) if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearDialogWindowAndFrame(0, 0); - sub_81269D4(1); - sub_8127620(taskId); + AddDecorationWindow(1); + ShowDecorationItemsWindow(taskId); } } void sub_8127A8C(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_8127554(); - sub_81277A8(); + s16 *data = gTasks[taskId].data; + RemoveDecorationItemsScrollIndicators(); + RemoveDecorationItemsOtherWindows(); DestroyListMenuTask(data[13], NULL, NULL); - free(sDecorPCBuffer); + free(sDecorationItemsMenu); sub_8126E44(taskId); } @@ -1145,105 +1146,91 @@ void sub_8127B04(u8 taskId) WarpIntoMap(); } -u16 sub_8127B54(u8 decor, u8 a1) +static u16 GetDecorationElevation(u8 decoration, u8 tileIndex) { - u16 resp; - - resp = -1; - switch (decor) + u16 elevation = -1; + switch (decoration) { - case DECOR_STAND: - resp = gUnknown_085A72E4[a1] << 12; - return resp; - case DECOR_SLIDE: - resp = gUnknown_085A72EC[a1] << 12; - return resp; - default: - return resp; + case DECOR_STAND: + elevation = sDecorationStandElevations[tileIndex] << 12; + return elevation; + case DECOR_SLIDE: + elevation = sDecorationSlideElevation[tileIndex] << 12; + return elevation; + default: + return elevation; } } -void sub_8127B90(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decor) +static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decoration) { - u16 i; - u16 j; + u16 i, j; + s16 x, y; u16 behavior; u16 impassableFlag; - u16 v0; - u16 v1; - s16 decLeft; - s16 decBottom; + u16 posterSide; + u16 elevation; - for (i = 0; i < decHeight; i ++) + for (j = 0; j < decHeight; j++) { - decBottom = mapY - decHeight + 1 + i; - for (j = 0; j < decWidth; j ++) + y = mapY - decHeight + 1 + j; + for (i = 0; i < decWidth; i++) { - decLeft = mapX + j; - behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decor].tiles[i * decWidth + j]); - if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decor].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) - { + x = mapX + i; + behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decoration].tiles[j * decWidth + i]); + if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) impassableFlag = METATILE_COLLISION_MASK; - } else - { - impassableFlag = 0x000; - } - if (gDecorations[decor].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(decLeft, decBottom)) == TRUE) - { - v0 = 1; - } + impassableFlag = 0; + + if (gDecorations[decoration].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) + posterSide = 1; else - { - v0 = 0; - } - v1 = sub_8127B54(gDecorations[decor].id, i * decWidth + j); - if (v1 != 0xFFFF) - { - MapGridSetMetatileEntryAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag | v1); - } + posterSide = 0; + + elevation = GetDecorationElevation(gDecorations[decoration].id, j * decWidth + i); + if (elevation != 0xFFFF) + MapGridSetMetatileEntryAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag | elevation); else - { - MapGridSetMetatileIdAt(decLeft, decBottom, (gDecorations[decor].tiles[i * decWidth + j] + (0x200 | v0)) | impassableFlag); - } + MapGridSetMetatileIdAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (0x200 | posterSide)) | impassableFlag); } } } -void sub_8127D38(u16 mapX, u16 mapY, u16 decor) -{ - switch (gDecorations[decor].shape) - { - case DECORSHAPE_1x1: - sub_8127B90(mapX, mapY, 1, 1, decor); - break; - case DECORSHAPE_2x1: - sub_8127B90(mapX, mapY, 2, 1, decor); - break; - case DECORSHAPE_3x1: // unused - sub_8127B90(mapX, mapY, 3, 1, decor); - break; - case DECORSHAPE_4x2: - sub_8127B90(mapX, mapY, 4, 2, decor); - break; - case DECORSHAPE_2x2: - sub_8127B90(mapX, mapY, 2, 2, decor); - break; - case DECORSHAPE_1x2: - sub_8127B90(mapX, mapY, 1, 2, decor); - break; - case DECORSHAPE_1x3: // unused - sub_8127B90(mapX, mapY, 1, 3, decor); - break; - case DECORSHAPE_2x4: - sub_8127B90(mapX, mapY, 2, 4, decor); - break; - case DECORSHAPE_3x3: - sub_8127B90(mapX, mapY, 3, 3, decor); - break; - case DECORSHAPE_3x2: - sub_8127B90(mapX, mapY, 3, 2, decor); - break; +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration) +{ + switch (gDecorations[decoration].shape) + { + case DECORSHAPE_1x1: + ShowDecorationOnMap_(mapX, mapY, 1, 1, decoration); + break; + case DECORSHAPE_2x1: + ShowDecorationOnMap_(mapX, mapY, 2, 1, decoration); + break; + case DECORSHAPE_3x1: // unused + ShowDecorationOnMap_(mapX, mapY, 3, 1, decoration); + break; + case DECORSHAPE_4x2: + ShowDecorationOnMap_(mapX, mapY, 4, 2, decoration); + break; + case DECORSHAPE_2x2: + ShowDecorationOnMap_(mapX, mapY, 2, 2, decoration); + break; + case DECORSHAPE_1x2: + ShowDecorationOnMap_(mapX, mapY, 1, 2, decoration); + break; + case DECORSHAPE_1x3: // unused + ShowDecorationOnMap_(mapX, mapY, 1, 3, decoration); + break; + case DECORSHAPE_2x4: + ShowDecorationOnMap_(mapX, mapY, 2, 4, decoration); + break; + case DECORSHAPE_3x3: + ShowDecorationOnMap_(mapX, mapY, 3, 3, decoration); + break; + case DECORSHAPE_3x2: + ShowDecorationOnMap_(mapX, mapY, 3, 2, decoration); + break; } } @@ -1252,25 +1239,27 @@ void sub_8127E18(void) u8 i; u8 j; - for (i = 0; i < 14; i ++) + for (i = 0; i < 14; i++) { if (FlagGet(FLAG_DECORATION_1 + i) == TRUE) { FlagClear(FLAG_DECORATION_1 + i); - for (j = 0; j < gMapHeader.events->eventObjectCount; j ++) + for (j = 0; j < gMapHeader.events->eventObjectCount; j++) { if (gMapHeader.events->eventObjects[j].flagId == FLAG_DECORATION_1 + i) - { break; - } } - VarSet(UNKNOWN_VAR_OFFSET_3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); + + VarSet( + VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[j].graphicsId - EVENT_OBJ_GFX_VAR_0), + sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); + gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId; gSpecialVar_0x8006 = sCurDecorMapX; gSpecialVar_0x8007 = sCurDecorMapY; - show_sprite(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sub_808EBA8(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_808F254(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveEventObjectToMapCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideEventObjectTemplateCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); break; } } @@ -1280,9 +1269,9 @@ bool8 sub_8127F38(void) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] == DECOR_NONE) + if (gDecorationContext.items[i] == DECOR_NONE) { return TRUE; } @@ -1292,7 +1281,7 @@ bool8 sub_8127F38(void) void sub_8127F68(u8 taskId) { - if (gUnknown_0203A17C.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION) + if (gDecorationContext.isPlayerRoom == TRUE && sCurDecorationCategory != DECORCAT_DOLL && sCurDecorationCategory != DECORCAT_CUSHION) { StringExpandPlaceholders(gStringVar4, gText_CantPlaceInRoom); DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C); @@ -1307,8 +1296,8 @@ void sub_8127F68(u8 taskId) } else { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203A17C.size, STR_CONV_MODE_RIGHT_ALIGN, 2); - if (gUnknown_0203A17C.isPlayerRoom == FALSE) { + ConvertIntToDecimalStringN(gStringVar1, gDecorationContext.size, STR_CONV_MODE_RIGHT_ALIGN, 2); + if (gDecorationContext.isPlayerRoom == FALSE) { StringExpandPlaceholders(gStringVar4, gText_NoMoreDecorations); } else @@ -1338,7 +1327,7 @@ void sub_8128060(u8 taskId) break; case 1: gPaletteFade.bufferTransferDisabled = TRUE; - ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorInventoryItems[gCurDecorationIndex]); + ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]); sub_812826C(taskId); SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer); pal_fill_black(); @@ -1361,27 +1350,23 @@ void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDat gFieldCamera.spriteId = gpu_pal_decompress_alloc_tag_and_upload(data, decor); gSprites[gFieldCamera.spriteId].oam.priority = 1; gSprites[gFieldCamera.spriteId].callback = sub_81292D0; - gSprites[gFieldCamera.spriteId].pos1.x = gUnknown_085A7250[data->decoration->shape].x; - gSprites[gFieldCamera.spriteId].pos1.y = gUnknown_085A7250[data->decoration->shape].y; + gSprites[gFieldCamera.spriteId].pos1.x = sDecorationMovementInfo[data->decoration->shape].cameraX; + gSprites[gFieldCamera.spriteId].pos1.y = sDecorationMovementInfo[data->decoration->shape].cameraY; } void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphicsDataBuffer *data) { - u8 v0; + u8 x; - v0 = 16 * (u8)gTasks[taskId].data[5] + gUnknown_085A7250[data->decoration->shape].x - 8 * ((u8)gTasks[taskId].data[5] - 1); + x = 16 * (u8)gTasks[taskId].data[5] + sDecorationMovementInfo[data->decoration->shape].cameraX - 8 * ((u8)gTasks[taskId].data[5] - 1); if (data->decoration->shape == DECORSHAPE_3x1 || data->decoration->shape == DECORSHAPE_3x3 || data->decoration->shape == DECORSHAPE_3x2) - { - v0 -= 8; - } + x -= 8; + if (gSaveBlock2Ptr->playerGender == MALE) - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, v0, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0); else - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, v0, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0); + gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId; @@ -1389,7 +1374,7 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic void sub_812826C(u8 taskId) { - switch (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].shape) + switch (gDecorations[gCurDecorationItems[gCurDecorationIndex]].shape) { case DECORSHAPE_1x1: gTasks[taskId].data[5] = 1; @@ -1477,14 +1462,12 @@ bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration) if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE) { if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsSecretBaseHole(behaviorAt) == TRUE) - { return TRUE; - } + if (MetatileBehavior_IsNormal(behaviorAt)) - { return TRUE; - } } + return FALSE; } @@ -1503,127 +1486,108 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration) switch (decoration->permission) { - case DECORPERM_SOLID_FLOOR: - case DECORPERM_PASS_FLOOR: - for (i=0; i<mapY; i++) - { - curY = gTasks[taskId].data[1] - i; - for (j=0; j<mapX; j++) - { - curX = gTasks[taskId].data[0] + j; - behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); - behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; - if (!sub_81284F4(behaviorAt, decoration)) - { - return FALSE; - } - if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { - return FALSE; - } - behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); - if (behaviorAt != 0 && behaviorAt != 16) - { - return FALSE; - } - } - } - break; - case DECORPERM_BEHIND_FLOOR: - for (i=0; i<mapY-1; i++) - { - curY = gTasks[taskId].data[1] - i; - for (j=0; j<mapX; j++) - { - curX = gTasks[taskId].data[0] + j; - behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); - behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; - if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy)) - { - return FALSE; - } - if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { - return FALSE; - } - if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) - { - return FALSE; - } - } - } - curY = gTasks[taskId].data[1] - mapY + 1; - for (j=0; j<mapX; j++) + case DECORPERM_SOLID_FLOOR: + case DECORPERM_PASS_FLOOR: + for (i = 0; i < mapY; i++) + { + curY = gTasks[taskId].data[1] - i; + for (j = 0; j < mapX; j++) { curX = gTasks[taskId].data[0] + j; behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); - behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & METATILE_ELEVATION_MASK; - if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt)) - { + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; + if (!sub_81284F4(behaviorAt, decoration)) return FALSE; - } + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) - { return FALSE; - } + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); if (behaviorAt != 0 && behaviorAt != 16) - { return FALSE; - } } - break; - case DECORPERM_NA_WALL: - for (i=0; i<mapY; i++) - { - curY = gTasks[taskId].data[1] - i; - for (j=0; j<mapX; j++) - { - curX = gTasks[taskId].data[0] + j; - if (!MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(curX, curY))) - { - return FALSE; - } - if (MapGridGetMetatileIdAt(curX, curY + 1) == 0x28c) - { - return FALSE; - } - } - } - break; - case DECORPERM_SOLID_MAT: - curY = gTasks[taskId].data[1]; - for (j=0; j<mapX; j++) + } + break; + case DECORPERM_BEHIND_FLOOR: + for (i = 0; i < mapY - 1; i++) + { + curY = gTasks[taskId].data[1] - i; + for (j = 0; j < mapX; j++) { curX = gTasks[taskId].data[0] + j; behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); - if (decoration->shape == DECORSHAPE_1x2) - { - if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) - { - return FALSE; - } - } - else if (!MetatileBehavior_IsSecretBaseLargeMatEdge(behaviorAt)) - { - if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) - { - return FALSE; - } - } + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK; + if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_8128484(behaviorAt, behaviorBy)) + return FALSE; + + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) + return FALSE; + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) - { return FALSE; - } } - break; + } + + curY = gTasks[taskId].data[1] - mapY + 1; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); + behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & METATILE_ELEVATION_MASK; + if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt)) + return FALSE; + + if (!sub_81284AC(taskId, curX, curY, behaviorBy)) + return FALSE; + + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); + if (behaviorAt != 0 && behaviorAt != 16) + return FALSE; + } + break; + case DECORPERM_NA_WALL: + for (i = 0; i < mapY; i++) + { + curY = gTasks[taskId].data[1] - i; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + if (!MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(curX, curY))) + return FALSE; + + if (MapGridGetMetatileIdAt(curX, curY + 1) == 0x28c) + return FALSE; + } + } + break; + case DECORPERM_SPRITE: + curY = gTasks[taskId].data[1]; + for (j = 0; j < mapX; j++) + { + curX = gTasks[taskId].data[0] + j; + behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); + if (decoration->shape == DECORSHAPE_1x2) + { + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) + return FALSE; + } + else if (!MetatileBehavior_HoldsSmallDecoration(behaviorAt)) + { + if (!MetatileBehavior_HoldsLargeDecoration(behaviorAt)) + return FALSE; + } + + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) + return FALSE; + } + break; } return TRUE; } void sub_8128950(u8 taskId) { - if (sub_812853C(taskId, &gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]]) == TRUE) + if (sub_812853C(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE) { StringExpandPlaceholders(gStringVar4, gText_PlaceItHere); DisplayItemMessageOnField(taskId, gStringVar4, sub_81289D0); @@ -1646,9 +1610,9 @@ void sub_81289F0(u8 taskId) { ClearDialogWindowAndFrame(0, 0); sub_8128AAC(taskId); - if (gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].permission != DECORPERM_SOLID_MAT) + if (gDecorations[gCurDecorationItems[gCurDecorationIndex]].permission != DECORPERM_SPRITE) { - sub_8127D38(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorInventoryItems[gCurDecorationIndex]); + ShowDecorationOnMap(gTasks[taskId].data[0], gTasks[taskId].data[1], gCurDecorationItems[gCurDecorationIndex]); } else { @@ -1656,11 +1620,11 @@ void sub_81289F0(u8 taskId) sCurDecorMapY = gTasks[taskId].data[1] - 7; ScriptContext1_SetupScript(EventScript_275D1F); } + gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2; if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) - { TV_PutSecretBaseVisitOnTheAir(); - } + sub_8128BBC(taskId); } @@ -1668,18 +1632,19 @@ void sub_8128AAC(u8 taskId) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] == DECOR_NONE) + if (gDecorationContext.items[i] == DECOR_NONE) { - gUnknown_0203A17C.items[i] = gCurDecorInventoryItems[gCurDecorationIndex]; - gUnknown_0203A17C.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7); + gDecorationContext.items[i] = gCurDecorationItems[gCurDecorationIndex]; + gDecorationContext.pos[i] = ((gTasks[taskId].data[0] - 7) << 4) + (gTasks[taskId].data[1] - 7); break; } } - if (!gUnknown_0203A17C.isPlayerRoom) + + if (!gDecorationContext.isPlayerRoom) { - for (i = 0; i < 16; i ++) + for (i = 0; i < 16; i++) { if (sSecretBaseItemsIndicesBuffer[i] == 0) { @@ -1690,7 +1655,7 @@ void sub_8128AAC(u8 taskId) } else { - for (i = 0; i < 12; i ++) + for (i = 0; i < 12; i++) { if (sPlayerRoomItemsIndicesBuffer[i] == 0) { @@ -1724,49 +1689,45 @@ void c1_overworld_prev_quest(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - ScriptContext2_Enable(); - if (!gPaletteFade.active) - { - sub_8127B04(taskId); - gTasks[taskId].data[2] = 1; - } - break; - case 1: - sub_812A3C8(); - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG); - gFieldCallback = sub_8128CD4; - SetMainCallback2(CB2_ReturnToField); - DestroyTask(taskId); - break; + case 0: + ScriptContext2_Enable(); + if (!gPaletteFade.active) + { + sub_8127B04(taskId); + gTasks[taskId].data[2] = 1; + } + break; + case 1: + sub_812A3C8(); + FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG); + gFieldCallback = sub_8128CD4; + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + break; } } void sub_8128C64(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (data[2]) { - case 0: - sub_80E9578(); - data[2] ++; - break; - case 1: - ScriptContext1_SetupScript(EventScript_275D0C); - data[2] ++; - break; - case 2: - ScriptContext2_Enable(); - data[2] ++; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - gTasks[taskId].func = sub_812764C; - } - break; + case 0: + HideSecretBaseDecorationSprites(); + data[2]++; + break; + case 1: + ScriptContext1_SetupScript(EventScript_275D0C); + data[2]++; + break; + case 2: + ScriptContext2_Enable(); + data[2]++; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + gTasks[taskId].func = HandleDecorationItemsMenuInput; + break; } } @@ -1783,41 +1744,40 @@ void sub_8128CD4(void) bool8 sub_8128D10(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (sDecorationLastDirectionMoved == DIR_SOUTH && data[1] - data[6] - 6 < 0) { - data[1] ++; + data[1]++; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height) { - data[1] --; + data[1]--; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_WEST && data[0] - 7 < 0) { - data[0] ++; + data[0]++; return FALSE; } + if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width) { - data[0] --; + data[0]--; return FALSE; } + return TRUE; } bool8 sub_8128DB4(void) { - u16 heldKeys; - - heldKeys = gMain.heldKeys & 0x0F0; + u16 heldKeys = gMain.heldKeys & DPAD_ANY; if (heldKeys != DPAD_UP && heldKeys != DPAD_DOWN && heldKeys != DPAD_LEFT && heldKeys != DPAD_RIGHT) - { return FALSE; - } + return TRUE; } @@ -1830,68 +1790,69 @@ void sub_8128DE0(void) void sub_8128E18(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (!gSprites[sDecor_CameraSpriteObjectIdx1].data[4]) { if (data[10] == 1) { gUnknown_085A72D4[data[12]].yesFunc(taskId); return; - } else if (data[10] == 2) + } + else if (data[10] == 2) { gUnknown_085A72D4[data[12]].noFunc(taskId); return; } - if ((gMain.heldKeys & 0x0F0) == DPAD_UP) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_UP) { sDecorationLastDirectionMoved = DIR_SOUTH; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = -2; data[1]--; } - if ((gMain.heldKeys & 0x0F0) == DPAD_DOWN) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_DOWN) { sDecorationLastDirectionMoved = DIR_NORTH; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 2; data[1]++; } - if ((gMain.heldKeys & 0x0F0) == DPAD_LEFT) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_LEFT) { sDecorationLastDirectionMoved = DIR_WEST; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = -2; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]--; } - if ((gMain.heldKeys & 0x0F0) == DPAD_RIGHT) + + if ((gMain.heldKeys & DPAD_ANY) == DPAD_RIGHT) { sDecorationLastDirectionMoved = DIR_EAST; gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 2; gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]++; } + if (!sub_8128DB4() || !sub_8128D10(taskId)) - { sub_8128DE0(); - } } + if (sDecorationLastDirectionMoved) { gSprites[sDecor_CameraSpriteObjectIdx1].data[4]++; gSprites[sDecor_CameraSpriteObjectIdx1].data[4] &= 7; } + if (!data[10]) { if (gMain.newKeys & A_BUTTON) - { data[10] = A_BUTTON; - } + if (gMain.newKeys & B_BUTTON) - { data[10] = B_BUTTON; - } } } @@ -1906,9 +1867,7 @@ void sub_8128FD8(u8 taskId) void sub_8129020(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - { sub_8128FD8(taskId); - } } void sub_8129048(struct PlaceDecorationGraphicsDataBuffer *data) @@ -1929,49 +1888,46 @@ void sub_8129088(u8 *dest, u16 tile) mode = tile >> 10; if (tile != 0) - { tile &= 0x03FF; - } + CpuFastCopy(&((u8 *)gTilesetPointer_SecretBase->tiles)[tile << 5], buffer, 32); switch (mode) { - case 0: - CpuFastCopy(buffer, dest, 32); - break; - case 1: - for (i = 0; i < 8; i ++) - { - dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4); - dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4); - dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4); - dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4); - } - break; - case 2: - for (i = 0; i < 8; i ++) - { - dest[4 * i] = buffer[4 * (7 - i)]; - dest[4 * i + 1] = buffer[4 * (7 - i) + 1]; - dest[4 * i + 2] = buffer[4 * (7 - i) + 2]; - dest[4 * i + 3] = buffer[4 * (7 - i) + 3]; - } - break; - case 3: - for (i = 0; i < 32; i ++) - { - dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4); - } - break; + case 0: + CpuFastCopy(buffer, dest, 32); + break; + case 1: + for (i = 0; i < 8; i++) + { + dest[4 * i] = (buffer[4 * (i + 1) - 1] >> 4) + ((buffer[4 * (i + 1) - 1] & 0x0F) << 4); + dest[4 * i + 1] = (buffer[4 * (i + 1) - 2] >> 4) + ((buffer[4 * (i + 1) - 2] & 0x0F) << 4); + dest[4 * i + 2] = (buffer[4 * (i + 1) - 3] >> 4) + ((buffer[4 * (i + 1) - 3] & 0x0F) << 4); + dest[4 * i + 3] = (buffer[4 * (i + 1) - 4] >> 4) + ((buffer[4 * (i + 1) - 4] & 0x0F) << 4); + } + break; + case 2: + for (i = 0; i < 8; i++) + { + dest[4 * i] = buffer[4 * (7 - i)]; + dest[4 * i + 1] = buffer[4 * (7 - i) + 1]; + dest[4 * i + 2] = buffer[4 * (7 - i) + 2]; + dest[4 * i + 3] = buffer[4 * (7 - i) + 3]; + } + break; + case 3: + for (i = 0; i < 32; i++) + { + dest[i] = (buffer[31 - i] >> 4) + ((buffer[31 - i] & 0x0F) << 4); + } + break; } } void sub_81291A4(struct PlaceDecorationGraphicsDataBuffer *data) { u16 i; - for (i = 0; i < 64; i ++) - { + for (i = 0; i < 64; i++) sub_8129088(&data->image[i * 32], data->tiles[i]); - } } u16 sub_81291CC(u16 tile) @@ -1985,7 +1941,7 @@ void sub_81291E8(struct PlaceDecorationGraphicsDataBuffer *data) u8 shape; shape = data->decoration->shape; - for (i = 0; i < gUnknown_085A71B0[shape].size; i ++) + for (i = 0; i < gUnknown_085A71B0[shape].size; i++) { data->tiles[gUnknown_085A71B0[shape].tiles[i]] = sub_81291CC(data->decoration->tiles[gUnknown_085A71B0[shape].y[i]] * 8 + gUnknown_085A71B0[shape].x[i]); } @@ -1998,10 +1954,10 @@ void SetDecorSelectionBoxOamAttributes(u8 decorShape) sDecorSelectorOam.objMode = ST_OAM_OBJ_NORMAL; sDecorSelectorOam.mosaic = 0; sDecorSelectorOam.bpp = ST_OAM_4BPP; - sDecorSelectorOam.shape = gUnknown_085A7250[decorShape].shape; + sDecorSelectorOam.shape = sDecorationMovementInfo[decorShape].shape; sDecorSelectorOam.x = 0; sDecorSelectorOam.matrixNum = 0; - sDecorSelectorOam.size = gUnknown_085A7250[decorShape].size; + sDecorSelectorOam.size = sDecorationMovementInfo[decorShape].size; sDecorSelectorOam.tileNum = 0; sDecorSelectorOam.priority = 0; sDecorSelectorOam.paletteNum = 0; @@ -2023,14 +1979,11 @@ void sub_81292E8(struct Sprite *sprite) if (sprite->data[7] == 0) { if (sprite->data[6] < 15) - { - sprite->invisible = FALSE; - } + sprite->invisible = 0; else - { - sprite->invisible = TRUE; - } - sprite->data[6] ++; + sprite->invisible = 1; + + sprite->data[6]++; sprite->data[6] &= 0x1F; } else @@ -2043,17 +1996,16 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf { sub_8129048(data); data->decoration = &gDecorations[decor]; - if (data->decoration->permission == DECORPERM_SOLID_MAT) - { + if (data->decoration->permission == DECORPERM_SPRITE) return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); - } - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG); + + FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG); sub_81291E8(data); SetDecorSelectionBoxOamAttributes(data->decoration->shape); sub_81291A4(data); sub_8129068(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * 8) + 7] >> 12); LoadSpritePalette(&gUnknown_085A72BC); - return CreateSprite(&sDecorSelectorSpriteTemplate, 0, 0, 0); + return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0); } u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) @@ -2064,9 +2016,8 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) u8 spriteId; if (!AllocItemIconTemporaryBuffers()) - { return MAX_SPRITES; - } + LZDecompressWram(GetDecorationIconPicOrPalette(decor, 0), gItemIconDecompressionBuffer); CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); sheet.data = gItemIcon4x4Buffer; @@ -2088,10 +2039,9 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode) { - if (decor > 120) - { + if (decor > NUM_DECORATIONS) decor = DECOR_NONE; - } + return gUnknown_085A6BE8[decor][mode]; } @@ -2104,7 +2054,7 @@ u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor sub_8129048(&sPlaceDecorationGraphicsDataBuffer); sPlaceDecorationGraphicsDataBuffer.decoration = &gDecorations[decor]; - if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SOLID_MAT) + if (sPlaceDecorationGraphicsDataBuffer.decoration->permission != DECORPERM_SPRITE) { sub_81291E8(&sPlaceDecorationGraphicsDataBuffer); SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape); @@ -2135,13 +2085,12 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 { u8 spriteId; - if (decor > 120) + if (decor > NUM_DECORATIONS) { spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, DECOR_NONE); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } @@ -2149,37 +2098,32 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 { spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x; if (decor == DECOR_SILVER_SHIELD || decor == DECOR_GOLD_SHIELD) - { gSprites[spriteId].pos2.y = y - 4; - } else - { gSprites[spriteId].pos2.y = y; - } } else { spriteId = AddDecorationIconObjectFromIconTable(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) - { return MAX_SPRITES; - } + gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } + gSprites[spriteId].oam.priority = priority; return spriteId; } void sub_81296EC(u8 idx) { - gUnknown_0203A17C.items[idx] = 0; - gUnknown_0203A17C.pos[idx] = 0; + gDecorationContext.items[idx] = 0; + gDecorationContext.pos[idx] = 0; } void sub_8129708(void) @@ -2192,11 +2136,11 @@ void sub_8129708(void) { gSpecialVar_Result = 1; } - else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SOLID_MAT) + else if (gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SPRITE) { gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId; sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx); - for (i = 0; i < gMapHeader.events->eventObjectCount; i ++) + for (i = 0; i < gMapHeader.events->eventObjectCount; i++) { if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005) { @@ -2211,7 +2155,7 @@ void sub_81297AC(void) { u8 i; - for (i = 0; i < gMapHeader.events->eventObjectCount; i ++) + for (i = 0; i < gMapHeader.events->eventObjectCount; i++) { if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004) { @@ -2230,20 +2174,21 @@ void sub_81297F8(void) int posY; u8 perm; - for (i = 0; i < sCurDecorSelectedInRearrangement; i ++) + for (i = 0; i < sCurDecorSelectedInRearrangement; i++) { - perm = gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[i].idx]].permission; - posX = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] >> 4; - posY = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F; - if (perm != DECORPERM_SOLID_MAT) + perm = gDecorations[gDecorationContext.items[sDecorRearrangementDataBuffer[i].idx]].permission; + posX = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] >> 4; + posY = gDecorationContext.pos[sDecorRearrangementDataBuffer[i].idx] & 0x0F; + if (perm != DECORPERM_SPRITE) { - for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y ++) + for (y = 0; y < sDecorRearrangementDataBuffer[i].height; y++) { - for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x ++) + for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x++) { MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapLayout->map[posX + x + gMapHeader.mapLayout->width * (posY - y)] | 0x3000); } } + sub_81296EC(sDecorRearrangementDataBuffer[i].idx); } } @@ -2253,35 +2198,33 @@ void sub_81298EC(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - sub_81297F8(); - gTasks[taskId].data[2] = 1; - break; - case 1: - if (!gPaletteFade.active) { - DrawWholeMapView(); - ScriptContext1_SetupScript(EventScript_275D2E); - ClearDialogWindowAndFrame(0, 1); - gTasks[taskId].data[2] = 2; - } - break; - case 2: - ScriptContext2_Enable(); - IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); - pal_fill_black(); - gTasks[taskId].data[2] = 3; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); - DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); - if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) - { - TV_PutSecretBaseVisitOnTheAir(); - } - } - break; + case 0: + sub_81297F8(); + gTasks[taskId].data[2] = 1; + break; + case 1: + if (!gPaletteFade.active) { + DrawWholeMapView(); + ScriptContext1_SetupScript(EventScript_275D2E); + ClearDialogWindowAndFrame(0, 1); + gTasks[taskId].data[2] = 2; + } + break; + case 2: + ScriptContext2_Enable(); + IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); + pal_fill_black(); + gTasks[taskId].data[2] = 3; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + { + StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); + DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); + if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) + TV_PutSecretBaseVisitOnTheAir(); + } + break; } } @@ -2289,14 +2232,12 @@ void sub_81298EC(u8 taskId) bool8 sub_81299AC(u8 taskId) { u16 i; - - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] != DECOR_NONE) - { + if (gDecorationContext.items[i] != DECOR_NONE) return TRUE; - } } + return FALSE; } @@ -2305,15 +2246,12 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) GetPlayerFacingDirection(); sDecor_CameraSpriteObjectIdx1 = gSprites[gFieldCamera.spriteId].data[0]; sub_812A39C(); - gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0); + gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 120, 80, 0); if (gSaveBlock2Ptr->playerGender == MALE) - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0); else - { - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC2, SpriteCallbackDummy, 0x88, 0x48, 0); - } + sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0); + gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId; @@ -2327,27 +2265,27 @@ void sub_8129ABC(u8 taskId) data = gTasks[taskId].data; switch (data[2]) { - case 0: - if (!gPaletteFade.active) - { - sub_8127ACC(taskId); - data[2] = 1; - data[6] = 1; - data[5] = 1; - } - break; - case 1: - SetUpPuttingAwayDecorationPlayerAvatar(); - pal_fill_black(); - data[2] = 2; - break; - case 2: - if (IsWeatherNotFadingIn() == TRUE) - { - data[12] = 1; - sub_8129B34(taskId); - } - break; + case 0: + if (!gPaletteFade.active) + { + sub_8127ACC(taskId); + data[2] = 1; + data[6] = 1; + data[5] = 1; + } + break; + case 1: + SetUpPuttingAwayDecorationPlayerAvatar(); + pal_fill_black(); + data[2] = 2; + break; + case 2: + if (IsWeatherNotFadingIn() == TRUE) + { + data[12] = 1; + sub_8129B34(taskId); + } + break; } } @@ -2357,8 +2295,8 @@ void sub_8129B34(u8 taskId) gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = sub_812A36C; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 0x88; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 0x48; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 136; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = 72; gTasks[taskId].data[10] = 0; gTasks[taskId].func = sub_8128E18; } @@ -2413,9 +2351,7 @@ void sub_8129C74(u8 taskId) void sub_8129D64(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - { sub_8129B34(taskId); - } } void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data) @@ -2424,39 +2360,48 @@ void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data) { data->width = 1; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_2x1) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x1) { data->width = 2; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_3x1) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x1) { data->width = 3; data->height = 1; - } else if (gDecorations[decor].shape == DECORSHAPE_4x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_4x2) { data->width = 4; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_2x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x2) { data->width = 2; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_1x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_1x2) { data->width = 1; data->height = 2; - } else if (gDecorations[decor].shape == DECORSHAPE_1x3) + } + else if (gDecorations[decor].shape == DECORSHAPE_1x3) { data->width = 1; data->height = 3; - } else if (gDecorations[decor].shape == DECORSHAPE_2x4) + } + else if (gDecorations[decor].shape == DECORSHAPE_2x4) { data->width = 2; data->height = 4; - } else if (gDecorations[decor].shape == DECORSHAPE_3x3) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x3) { data->width = 3; data->height = 3; - } else if (gDecorations[decor].shape == DECORSHAPE_3x2) + } + else if (gDecorations[decor].shape == DECORSHAPE_3x2) { data->width = 3; data->height = 2; @@ -2467,8 +2412,8 @@ void sub_8129E0C(u8 x, u8 y) { gSprites[sDecor_CameraSpriteObjectIdx1].invisible = TRUE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 0x88; - gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 0x48; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = (x << 4) + 136; + gSprites[sDecor_CameraSpriteObjectIdx2].pos1.y = (y << 4) + 72; } bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data) @@ -2481,18 +2426,18 @@ bool8 sub_8129E74(u8 taskId, u8 idx, struct DecorRearrangementDataBuffer *data) x = gTasks[taskId].data[0] - 7; y = gTasks[taskId].data[1] - 7; - xOff = gUnknown_0203A17C.pos[idx] >> 4; - yOff = gUnknown_0203A17C.pos[idx] & 0x0F; + xOff = gDecorationContext.pos[idx] >> 4; + yOff = gDecorationContext.pos[idx] & 0x0F; ht = data->height; - if (gUnknown_0203A17C.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C) - { - ht --; - } + if (gDecorationContext.items[idx] == DECOR_SAND_ORNAMENT && MapGridGetMetatileIdAt(xOff + 7, yOff + 7) == 0x28C) + ht--; + if (x >= xOff && x < xOff + data->width && y > yOff - ht && y <= yOff) { sub_8129E0C(data->width - (x - xOff + 1), yOff - y); return TRUE; } + return FALSE; } @@ -2502,9 +2447,9 @@ void sub_8129F20(void) u8 yOff; u16 i; - xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4; - yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F; - for (i = 0; i < 0x40; i ++) + xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] >> 4; + yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F; + for (i = 0; i < 0x40; i++) { if (gSaveBlock1Ptr->eventObjectTemplates[i].x == xOff && gSaveBlock1Ptr->eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->eventObjectTemplates[i].flagId)) { @@ -2518,13 +2463,13 @@ bool8 sub_8129FC8(u8 taskId) { u16 i; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - if (gUnknown_0203A17C.items[i] != 0) + if (gDecorationContext.items[i] != 0) { - if (gDecorations[gUnknown_0203A17C.items[i]].permission == DECORPERM_SOLID_MAT) + if (gDecorations[gDecorationContext.items[i]].permission == DECORPERM_SPRITE) { - sub_8129D8C(gUnknown_0203A17C.items[i], sDecorRearrangementDataBuffer); + sub_8129D8C(gDecorationContext.items[i], sDecorRearrangementDataBuffer); if (sub_8129E74(taskId, i, sDecorRearrangementDataBuffer) == TRUE) { sDecorRearrangementDataBuffer->idx = i; @@ -2545,12 +2490,12 @@ void sub_812A040(u8 left, u8 top, u8 right, u8 bottom) u8 yOff; u8 decorIdx; - for (i = 0; i < gUnknown_0203A17C.size; i ++) + for (i = 0; i < gDecorationContext.size; i++) { - decorIdx = gUnknown_0203A17C.items[i]; - xOff = gUnknown_0203A17C.pos[i] >> 4; - yOff = gUnknown_0203A17C.pos[i] & 0x0F; - if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SOLID_MAT && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff) + decorIdx = gDecorationContext.items[i]; + xOff = gDecorationContext.pos[i] >> 4; + yOff = gDecorationContext.pos[i] & 0x0F; + if (decorIdx != 0 && gDecorations[decorIdx].permission == DECORPERM_SPRITE && left <= xOff && top <= yOff && right >= xOff && bottom >= yOff) { sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx = i; sub_8129F20(); @@ -2570,9 +2515,9 @@ void sub_812A0E8(u8 taskId) sCurDecorSelectedInRearrangement = 0; if (sub_8129FC8(taskId) != TRUE) { - for (i = 0; i < gUnknown_0203A17C.size; i++) + for (i = 0; i < gDecorationContext.size; i++) { - var1 = gUnknown_0203A17C.items[i]; + var1 = gDecorationContext.items[i]; if (var1 != DECOR_NONE) { sub_8129D8C(var1, &sDecorRearrangementDataBuffer[0]); @@ -2586,8 +2531,8 @@ void sub_812A0E8(u8 taskId) } if (sCurDecorSelectedInRearrangement != 0) { - xOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] >> 4; - yOff = gUnknown_0203A17C.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F; + xOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] >> 4; + yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[0].idx] & 0x0F; var1 = yOff - sDecorRearrangementDataBuffer[0].height + 1; var2 = sDecorRearrangementDataBuffer[0].width + xOff - 1; @@ -2632,47 +2577,43 @@ void sub_812A25C(u8 taskId) { switch (gTasks[taskId].data[2]) { - case 0: - if (!gPaletteFade.active) - { - sub_8127B04(taskId); - gTasks[taskId].data[2] = 1; - } - break; - case 1: - sub_812A3C8(); - gFieldCallback = sub_812A334; - SetMainCallback2(CB2_ReturnToField); - DestroyTask(taskId); - break; + case 0: + if (!gPaletteFade.active) + { + sub_8127B04(taskId); + gTasks[taskId].data[2] = 1; + } + break; + case 1: + sub_812A3C8(); + gFieldCallback = sub_812A334; + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + break; } } void sub_812A2C4(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; switch (data[2]) { - case 0: - sub_80E9578(); - data[2] ++; - break; - case 1: - ScriptContext1_SetupScript(EventScript_275D0C); - data[2] ++; - break; - case 2: - ScriptContext2_Enable(); - data[2] ++; - break; - case 3: - if (IsWeatherNotFadingIn() == TRUE) - { - gTasks[taskId].func = sub_8126B80; - } - break; + case 0: + HideSecretBaseDecorationSprites(); + data[2]++; + break; + case 1: + ScriptContext1_SetupScript(EventScript_275D0C); + data[2]++; + break; + case 2: + ScriptContext2_Enable(); + data[2]++; + break; + case 3: + if (IsWeatherNotFadingIn() == TRUE) + gTasks[taskId].func = HandleDecorationActionsMenuInput; + break; } } @@ -2682,47 +2623,39 @@ void sub_812A334(void) pal_fill_black(); DrawDialogueFrame(0, 1); - sub_8126ABC(); + InitDecorationActionsWindow(); taskId = CreateTask(sub_812A2C4, 8); gTasks[taskId].data[2] = 0; } void sub_812A36C(struct Sprite *sprite) { - sprite->data[0] ++; + sprite->data[0]++; sprite->data[0] &= 0x1F; if (sprite->data[0] > 15) - { sprite->invisible = TRUE; - } else - { sprite->invisible = FALSE; - } } void sub_812A39C(void) { if (gSaveBlock2Ptr->playerGender == MALE) - { LoadSpritePalette(&gUnknown_085A73D8); - } else - { LoadSpritePalette(&gUnknown_085A73E0); - } } void sub_812A3C8(void) { - FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG); + FreeSpritePaletteByTag(PLACE_DECORATION_PLAYER_TAG); } void sub_812A3D4(u8 taskId) { if (IsSelectedDecorInThePC() == TRUE) { - StringCopy(gStringVar1, gDecorations[gCurDecorInventoryItems[gCurDecorationIndex]].name); + StringCopy(gStringVar1, gDecorations[gCurDecorationItems[gCurDecorationIndex]].name); StringExpandPlaceholders(gStringVar4, gText_DecorationWillBeDiscarded); DisplayItemMessageOnField(taskId, gStringVar4, sub_812A458); } @@ -2741,9 +2674,9 @@ void sub_812A458(u8 taskId) void sub_812A478(u8 taskId) { - gCurDecorInventoryItems[gCurDecorationIndex] = DECOR_NONE; - sCurDecorCatCount = CountDecorationCategoryN(sCurDecorationCategory); - CondenseDecorationCategoryN(sCurDecorationCategory); + gCurDecorationItems[gCurDecorationIndex] = DECOR_NONE; + sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory); + CondenseDecorationsInCategory(sCurDecorationCategory); IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); StringExpandPlaceholders(gStringVar4, gText_DecorationThrownAway); DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C); diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c index 308320206..80646c69c 100644 --- a/src/decoration_inventory.c +++ b/src/decoration_inventory.c @@ -32,7 +32,7 @@ void SetDecorationInventoriesPointers(void) SET_DECOR_INV(5, gSaveBlock1Ptr->decorPoster); SET_DECOR_INV(6, gSaveBlock1Ptr->decorDoll); SET_DECOR_INV(7, gSaveBlock1Ptr->decorCushion); - sub_8126968(); + InitDecorationContextItems(); } static void ClearDecorationInventory(u8 idx) @@ -120,7 +120,7 @@ bool8 DecorationCheckSpace(u8 decor) s8 DecorationRemove(u8 decor) { u8 i; - u8 idx; + u8 category; i = 0; if (decor == DECOR_NONE) @@ -129,38 +129,38 @@ s8 DecorationRemove(u8 decor) } for (i = 0; i < gDecorationInventories[gDecorations[decor].category].size; i ++) { - idx = gDecorations[decor].category; - if (gDecorationInventories[idx].items[i] == decor) + category = gDecorations[decor].category; + if (gDecorationInventories[category].items[i] == decor) { - gDecorationInventories[idx].items[i] = DECOR_NONE; - CondenseDecorationCategoryN(idx); + gDecorationInventories[category].items[i] = DECOR_NONE; + CondenseDecorationsInCategory(category); return 1; } } return 0; } -void CondenseDecorationCategoryN(u8 idx) +void CondenseDecorationsInCategory(u8 category) { u8 i; u8 j; u8 tmp; - for (i = 0; i < gDecorationInventories[idx].size; i ++) + for (i = 0; i < gDecorationInventories[category].size; i ++) { - for (j = i + 1; j < gDecorationInventories[idx].size; j ++) + for (j = i + 1; j < gDecorationInventories[category].size; j ++) { - if (gDecorationInventories[idx].items[j] != DECOR_NONE && (gDecorationInventories[idx].items[i] == DECOR_NONE || gDecorationInventories[idx].items[i] > gDecorationInventories[idx].items[j])) + if (gDecorationInventories[category].items[j] != DECOR_NONE && (gDecorationInventories[category].items[i] == DECOR_NONE || gDecorationInventories[category].items[i] > gDecorationInventories[category].items[j])) { - tmp = gDecorationInventories[idx].items[i]; - gDecorationInventories[idx].items[i] = gDecorationInventories[idx].items[j]; - gDecorationInventories[idx].items[j] = tmp; + tmp = gDecorationInventories[category].items[i]; + gDecorationInventories[category].items[i] = gDecorationInventories[category].items[j]; + gDecorationInventories[category].items[j] = tmp; } } } } -u8 CountDecorationCategoryN(u8 idx) +u8 GetNumOwnedDecorationsInCategory(u8 idx) { u8 i; u8 ct; @@ -176,15 +176,14 @@ u8 CountDecorationCategoryN(u8 idx) return ct; } -u8 CountDecorations(void) +u8 GetNumOwnedDecorations(void) { - u8 idx; - u8 ct; + u8 category; + u8 count; - ct = 0; - for (idx = 0; idx < 8; idx ++) - { - ct += CountDecorationCategoryN(idx); - } - return ct; + count = 0; + for (category = 0; category < DECORCAT_COUNT; category++) + count += GetNumOwnedDecorationsInCategory(category); + + return count; } diff --git a/src/diploma.c b/src/diploma.c index 2113b09ed..92c7df703 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -14,6 +14,7 @@ #include "overworld.h" #include "menu.h" #include "pokedex.h" +#include "constants/rgb.h" extern const u8 gText_DexNational[]; extern const u8 gText_DexHoenn[]; @@ -83,7 +84,7 @@ void CB2_ShowDiploma(void) CopyBgTilemapBufferToVram(1); DisplayDiplomaText(); BlendPalettes(-1, 16, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); EnableInterrupts(1); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); @@ -108,7 +109,7 @@ static void Task_DiplomaWaitForKeyPress(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_DiplomaFadeOut; } } diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 38157aa92..966dccfcf 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -360,7 +360,7 @@ void sub_8024BC8(u8 taskId) { if (gReceivedRemoteLinkPlayers != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } gUnknown_02022C98->unk_000C++; diff --git a/src/easy_chat.c b/src/easy_chat.c index 4388592f7..93456631a 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -2,7 +2,7 @@ #include "alloc.h" #include "bard_music.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dewford_trend.h" #include "dynamic_placeholder_text_util.h" @@ -32,6 +32,7 @@ #include "constants/flags.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/rgb.h" #define EZCHAT_TASK_STATE 0 #define EZCHAT_TASK_TYPE 1 @@ -1139,20 +1140,20 @@ static void sub_811A2FC(u8 taskId) case 0: SetVBlankCallback(VBlankCallback_EasyChatScreen); BlendPalettes(0xFFFFFFFF, 16, 0); - BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); data[EZCHAT_TASK_STATE] = 5; break; case 1: v0 = sub_811AAAC(); if (sub_811A88C(v0)) { - BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); data[EZCHAT_TASK_STATE] = 3; data[EZCHAT_TASK_UNK06] = v0; } else if (v0 == 0x18) { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); data[EZCHAT_TASK_STATE] = 4; } else if (v0 != 0) diff --git a/src/egg_hatch.c b/src/egg_hatch.c index fc559e001..605cd0366 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -33,7 +33,9 @@ #include "naming_screen.h" #include "pokemon_storage_system.h" #include "field_screen_effect.h" +#include "data.h" #include "battle.h" // to get rid of later +#include "constants/rgb.h" struct EggHatchData { @@ -52,7 +54,6 @@ struct EggHatchData u8 textColor[3]; }; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NickHatchPrompt[]; @@ -596,7 +597,7 @@ static void CB2_EggHatch_1(void) switch (sEggHatchData->CB2_state) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sEggHatchData->eggSpriteID = CreateSprite(&sSpriteTemplate_EggHatch, 120, 75, 5); ShowBg(0); ShowBg(1); @@ -679,7 +680,7 @@ static void CB2_EggHatch_1(void) } break; case 11: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); sEggHatchData->CB2_state++; break; case 12: @@ -789,7 +790,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite) { s16 i; if (sprite->data[0] == 0) - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_WHITEALPHA); if (sprite->data[0] < 4u) { for (i = 0; i <= 3; i++) @@ -813,7 +814,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite) StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1); } if (sprite->data[0] == 8) - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, RGB_WHITEALPHA); if (sprite->data[0] <= 9) gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1; if (sprite->data[0] > 40) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 45b721f56..75f758a12 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -25,6 +25,7 @@ #include "constants/event_object_movement_constants.h" #include "constants/event_objects.h" #include "constants/field_effects.h" +#include "constants/items.h" // this file was known as evobjmv.c in Game Freak's original source @@ -1534,10 +1535,10 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl paletteSlot -= 16; sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); } + if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE) - { eventObject->invisible = TRUE; - } + *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) @@ -1545,6 +1546,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl gEventObjects[eventObjectId].active = FALSE; return EVENT_OBJECTS_COUNT; } + sprite = &gSprites[spriteId]; sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); @@ -1557,15 +1559,14 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl eventObject->spriteId = spriteId; eventObject->inanimate = graphicsInfo->inanimate; if (!eventObject->inanimate) - { StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); - } + SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); UpdateEventObjectVisibility(eventObject, sprite); return eventObjectId; } -static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySpawnEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 eventObjectId; struct SpriteTemplate spriteTemplate; @@ -1579,14 +1580,12 @@ static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u spriteTemplate.images = &spriteFrameImage; eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); if (eventObjectId == EVENT_OBJECTS_COUNT) - { return EVENT_OBJECTS_COUNT; - } + gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images; - if (subspriteTables != NULL) - { + if (subspriteTables) SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables); - } + return eventObjectId; } @@ -1596,7 +1595,7 @@ u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) s16 cameraY; GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + return TrySpawnEventObjectTemplate(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) @@ -1619,19 +1618,17 @@ u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 l return SpawnSpecialEventObject(&eventObjectTemplate); } -u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) +u8 TrySpawnEventObject(u8 localId, u8 mapNum, u8 mapGroup) { struct EventObjectTemplate *eventObjectTemplate; - s16 cameraX; - s16 cameraY; + s16 cameraX, cameraY; eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - if (eventObjectTemplate == NULL) - { + if (!eventObjectTemplate) return EVENT_OBJECTS_COUNT; - } + GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); + return TrySpawnEventObjectTemplate(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); } static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) @@ -1765,7 +1762,7 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY) if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX && !FlagGet(template->flagId)) - TrySpawnEventObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + TrySpawnEventObjectTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } } } @@ -2009,10 +2006,9 @@ static void get_berry_tree_graphics(struct EventObject *eventObject, struct Spri sprite->invisible = FALSE; berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1; berryStage--; - if (berryId >= NUM_BERRIES) - { + if (berryId > ITEM_TO_BERRY(LAST_BERRY_INDEX)) berryId = 0; - } + EventObjectSetGraphicsId(eventObject, gBerryTreeEventObjectGraphicsIdTablePointers[berryId][berryStage]); sprite->images = gBerryTreePicTablePointers[berryId]; sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; @@ -2245,7 +2241,7 @@ static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) eventObject->currentCoords.y = y; } -void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) +void MoveEventObjectToMapCoords(struct EventObject *eventObject, s16 x, s16 y) { struct Sprite *sprite; const struct EventObjectGraphicsInfo *graphicsInfo; @@ -2260,20 +2256,17 @@ void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) sprite->pos1.y += 16 + sprite->centerToCornerVecY; sub_808E38C(eventObject); if (eventObject->trackedByCamera) - { CameraObjectReset1(); - } } -void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +void TryMoveEventObjectToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { x += 7; y += 7; - sub_808EB08(&gEventObjects[eventObjectId], x, y); + MoveEventObjectToMapCoords(&gEventObjects[eventObjectId], x, y); } } @@ -2604,15 +2597,13 @@ void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject) } } -void OverrideMovementTypeForEventObject(const struct EventObject *eventObject, const u8 *script) +static void OverrideEventObjectTemplateScript(const struct EventObject *eventObject, const u8 *script) { struct EventObjectTemplate *eventObjectTemplate; eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); - if (eventObjectTemplate != NULL) - { + if (eventObjectTemplate) eventObjectTemplate->script = script; - } } void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType) @@ -2626,30 +2617,26 @@ void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObje } } -void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup) +void TryOverrideEventObjectTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) - { OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]); - } } -void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) +void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorationCategory) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - switch (decorCat) + switch (decorationCategory) { - case DECORCAT_DOLL: - OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower1); - break; - case DECORCAT_CUSHION: - OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower2); - break; + case DECORCAT_DOLL: + OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_DollInteract); + break; + case DECORCAT_CUSHION: + OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_CushionInteract); + break; } } } diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index e36d47c2b..816929f8b 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -8,6 +8,7 @@ #include "sound.h" #include "constants/songs.h" #include "palette.h" +#include "constants/rgb.h" // this file's functions static void EvoSparkle_DummySpriteCb(struct Sprite* sprite); @@ -268,7 +269,7 @@ static void EvoTask_BeginPreSet1_FadeAndPlaySE(u8 taskID) { SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; - BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 0xA, 0, 0x10, 0x7FFF); + BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 0xA, 0, 0x10, RGB_WHITE); gTasks[taskID].func = EvoTask_CreatePreEvoSparkleSet1; PlaySE(SE_W025); } @@ -386,7 +387,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash(u8 taskID) SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30); - BeginNormalPaletteFade(0xFFF9041C, 0, 0, 0x10, 0x7FFF); // was 0xFFF9001C in R/S + BeginNormalPaletteFade(0xFFF9041C, 0, 0, 0x10, RGB_WHITE); // was 0xFFF9001C in R/S gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash; PlaySE(SE_W080); } @@ -407,7 +408,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash(u8 taskID) CreatePostEvoSparkleSet2(i); break; case 32: - BeginNormalPaletteFade(0xFFFF041C, 0x10, 0x10, 0, 0x7FFF); // was 0xFFF9001C in R/S + BeginNormalPaletteFade(0xFFFF041C, 0x10, 0x10, 0, RGB_WHITE); // was 0xFFF9001C in R/S break; } gTasks[taskID].tFrameCounter++; @@ -434,7 +435,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash_Trade(u8 taskID) SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30); - BeginNormalPaletteFade(0xFFF90400, 0, 0, 0x10, 0x7FFF); // was 0xFFFF0001 in R/S + BeginNormalPaletteFade(0xFFF90400, 0, 0, 0x10, RGB_WHITE); // was 0xFFFF0001 in R/S gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade; PlaySE(SE_W080); } @@ -455,7 +456,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade(u8 taskID) CreatePostEvoSparkleSet2(i); break; case 32: - BeginNormalPaletteFade(0xFFFF0400, 0x10, 0x10, 0, 0x7FFF); // was 0xFFFF0001 in R/S + BeginNormalPaletteFade(0xFFFF0400, 0x10, 0x10, 0, RGB_WHITE); // was 0xFFFF0001 in R/S break; } gTasks[taskID].tFrameCounter++; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 8c4847b8d..96ca2ed1c 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -3,7 +3,7 @@ #include "battle.h" #include "battle_message.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "evolution_scene.h" #include "evolution_graphics.h" @@ -32,6 +32,7 @@ #include "constants/battle_string_ids.h" #include "constants/species.h" #include "constants/songs.h" +#include "constants/rgb.h" struct EvoInfo { @@ -52,8 +53,6 @@ void (*gCB2_AfterEvolution)(void); #define sEvoCursorPos gBattleCommunication[1] // when learning a new move #define sEvoGraphicsTaskID gBattleCommunication[2] -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; - // this file's functions static void Task_EvolutionScene(u8 taskID); static void Task_TradeEvolutionScene(u8 taskID); @@ -171,7 +170,7 @@ static void Task_BeginEvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskID].tState++; break; case 1: @@ -368,7 +367,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) SetVBlankCallback(VBlankCB_EvolutionScene); SetMainCallback2(CB2_EvolutionSceneUpdate); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); ShowBg(0); ShowBg(1); @@ -445,14 +444,14 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) case 6: if (gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } BlendPalettes(-1,0x10, 0); gMain.state++; break; case 7: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); sub_807B140(); ShowBg(0); ShowBg(1); @@ -557,7 +556,7 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon) SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, (gSpeciesNames[gEvolutionTable[preEvoSpecies][1].targetSpecies])); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, (&data)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, (&data)); - SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_10, (&data)); + SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_ENCRYPT_SEPARATOR, (&data)); for (i = MON_DATA_COOL_RIBBON; i < MON_DATA_COOL_RIBBON + 5; i++) SetMonData(&gPlayerParty[gPlayerPartyCount], i, (&data)); @@ -605,7 +604,7 @@ static void Task_EvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gSprites[sEvoStructPtr->preEvoSpriteID].invisible = FALSE; gTasks[taskID].tState++; ShowBg(0); @@ -640,7 +639,7 @@ static void Task_EvolutionScene(u8 taskID) { PlayNewMapMusic(MUS_SHINKA); gTasks[taskID].tState++; - BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0x1C, 4, 0, 0x10, RGB_BLACK); } break; case 5: // launch moving bg task, preapre evo sparkles @@ -698,7 +697,7 @@ static void Task_EvolutionScene(u8 taskID) m4aMPlayAllStop(); memcpy(&gPlttBufferUnfaded[0x20], sEvoStructPtr->savedPalette, 0x60); sub_8140174(); - BeginNormalPaletteFade(0x1C, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0x1C, 0, 0x10, 0, RGB_BLACK); gTasks[taskID].tState++; } break; @@ -753,7 +752,7 @@ static void Task_EvolutionScene(u8 taskID) } else // no move to learn { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskID].tState++; } } @@ -781,7 +780,7 @@ static void Task_EvolutionScene(u8 taskID) if (!gTasks[sEvoGraphicsTaskID].isActive) { m4aMPlayAllStop(); - BeginNormalPaletteFade(0x6001C, 0, 0x10, 0, 0x7FFF); + BeginNormalPaletteFade(0x6001C, 0, 0x10, 0, RGB_WHITE); gTasks[taskID].tState++; } break; @@ -887,7 +886,7 @@ static void Task_EvolutionScene(u8 taskID) { gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); } } if (gMain.newKeys & B_BUTTON) @@ -1009,7 +1008,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { PlayBGM(MUS_SHINKA); gTasks[taskID].tState++; - BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0x1C, 4, 0, 0x10, RGB_BLACK); } break; case 4: @@ -1130,7 +1129,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!gTasks[sEvoGraphicsTaskID].isActive) { m4aMPlayAllStop(); - BeginNormalPaletteFade((1 << (gSprites[sEvoStructPtr->preEvoSpriteID].oam.paletteNum + 16)) | (0x4001C), 0, 0x10, 0, 0x7FFF); + BeginNormalPaletteFade((1 << (gSprites[sEvoStructPtr->preEvoSpriteID].oam.paletteNum + 16)) | (0x4001C), 0, 0x10, 0, RGB_WHITE); gTasks[taskID].tState++; } break; @@ -1213,7 +1212,7 @@ static void Task_TradeEvolutionScene(u8 taskID) sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); break; case 1: case -1: diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 5b685173e..455c38deb 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -16,6 +16,7 @@ #include "fldeff_misc.h" #include "item_menu.h" #include "link.h" +#include "match_call.h" #include "metatile_behavior.h" #include "overworld.h" #include "pokemon.h" @@ -32,7 +33,6 @@ #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" -#include "match_call.h" static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; @@ -227,8 +227,8 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil && script != EventScript_PlayerPCFemale && script != EventScript_SecretBasePC && script != EventScript_RecordMixingSecretBasePC - && script != EventScript_SecretPower1 - && script != EventScript_SecretPower2 + && script != SecretBase_EventScript_DollInteract + && script != SecretBase_EventScript_CushionInteract && script != EventScript_PC) PlaySE(SE_SELECT); @@ -354,7 +354,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position if (direction == DIR_NORTH) { gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId; - if (sub_80E9680()) + if (TrySetCurSecretBase()) return EventScript_2759F1; } return NULL; @@ -421,23 +421,23 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me return EventScript_SecretBaseShieldOrToyTV; if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE) { - sub_80EB56C(); + SetSecretBaseSecretsTvFlags_MiscFurnature(); return NULL; } - if (MetatileBehavior_IsLargeMatCenter(metatileBehavior) == TRUE) + if (MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) { - sub_80EB9E0(); + SetSecretBaseSecretsTvFlags_LargeDecorationSpot(); return NULL; } - if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatileBehavior) == TRUE) + if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE) { - sub_80EBB28(); + SetSecretBaseSecretsTvFlags_SmallDecorationSpot(); return NULL; } } else if (MetatileBehavior_IsSecretBasePoster(metatileBehavior) == TRUE) { - sub_80EB498(); + SetSecretBaseSecretsTvFlags_Poster(); return NULL; } diff --git a/src/field_effect.c b/src/field_effect.c index 93d7e5ef8..22bf44f28 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -33,8 +33,6 @@ #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} -extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const. - EWRAM_DATA s32 gFieldEffectArguments[8] = {0}; // Static type declarations @@ -237,7 +235,9 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId); static IWRAM_DATA u8 sActiveList[32]; // External declarations - +extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const. +extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; +extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern u8 *gFieldEffectScriptPointers[]; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; @@ -3485,7 +3485,7 @@ static void sub_80B9978(struct Task *task) eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; sprite = &gSprites[eventObject->spriteId]; eventObject->inanimate = 0; - sub_808EB08(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); + MoveEventObjectToMapCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index a070fe0e1..ab2667c8c 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1188,9 +1188,9 @@ u8 PlayerGetZCoord(void) return gEventObjects[gPlayerAvatar.eventObjectId].previousElevation; } -void sub_808BC90(s16 a, s16 b) +void sub_808BC90(s16 x, s16 y) { - sub_808EB08(&gEventObjects[gPlayerAvatar.eventObjectId], a, b); + MoveEventObjectToMapCoords(&gEventObjects[gPlayerAvatar.eventObjectId], x, y); } u8 TestPlayerAvatarFlags(u8 a) diff --git a/src/field_region_map.c b/src/field_region_map.c index 1d54333fb..ac1b26154 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -11,6 +11,7 @@ #include "text.h" #include "text_window.h" #include "window.h" +#include "constants/rgb.h" // Static type declarations @@ -145,7 +146,7 @@ static void FieldUpdateRegionMap(void) schedule_bg_copy_tilemap_to_vram(0); DrawStdFrameWithCustomTileAndPalette(0, 0, 0x27, 0xd); PrintRegionMapSecName(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); sFieldRegionMapHandler->state++; break; case 2: @@ -173,7 +174,7 @@ static void FieldUpdateRegionMap(void) } break; case 5: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); sFieldRegionMapHandler->state++; break; case 6: diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 5769f44af..9a5d47156 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1132,7 +1132,7 @@ static void sub_80B0318(u8 taskId) data[0] = 1; break; case 1: - sub_8199DF0(0, 17, 0, 1); + sub_8199DF0(0, PIXEL_FILL(1), 0, 1); sub_80B028C(data[1]); sub_80B003C(data[2], data[3], 1, 160, 1, 2); data[0] = 2; @@ -1179,7 +1179,7 @@ static void sub_80B0318(u8 taskId) if (sub_80B02C8(data[5]) == TRUE) { data[0] = 5; - sub_8199DF0(0, 0, 0, 1); + sub_8199DF0(0, PIXEL_FILL(0), 0, 1); } } break; diff --git a/src/field_specials.c b/src/field_specials.c index 20c2e6173..8bd990063 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3,7 +3,7 @@ #include "battle.h" #include "battle_tower.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "decoration.h" #include "diploma.h" #include "event_data.h" @@ -59,20 +59,20 @@ EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; -EWRAM_DATA u32 gBikeCyclingTimer = 0; -EWRAM_DATA u8 gUnknown_0203AB5C = 0; -EWRAM_DATA u8 gUnknown_0203AB5D = 0; -EWRAM_DATA u8 gUnknown_0203AB5E = 0; -EWRAM_DATA u16 gUnknown_0203AB60 = 0; -EWRAM_DATA u16 gUnknown_0203AB62 = 0; -EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; -EWRAM_DATA u16 gUnknown_0203AB68 = 0; -EWRAM_DATA u16 gUnknown_0203AB6A = 0; -EWRAM_DATA u8 gUnknown_0203AB6C = 0; -EWRAM_DATA u8 gUnknown_0203AB6D = 0; -EWRAM_DATA u8 gUnknown_0203AB6E = 0; -EWRAM_DATA u8 gUnknown_0203AB6F = 0; -EWRAM_DATA u32 gUnknown_0203AB70 = 0; +static EWRAM_DATA u32 gBikeCyclingTimer = 0; +static EWRAM_DATA u8 gUnknown_0203AB5C = 0; +static EWRAM_DATA u8 gUnknown_0203AB5D = 0; +static EWRAM_DATA u8 gUnknown_0203AB5E = 0; +static EWRAM_DATA u16 gUnknown_0203AB60 = 0; +static EWRAM_DATA u16 gUnknown_0203AB62 = 0; +static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; +static EWRAM_DATA u16 gUnknown_0203AB68 = 0; +static EWRAM_DATA u16 gUnknown_0203AB6A = 0; +static EWRAM_DATA u8 gUnknown_0203AB6C = 0; +static EWRAM_DATA u8 gUnknown_0203AB6D = 0; +static EWRAM_DATA u8 gUnknown_0203AB6E = 0; +static EWRAM_DATA u8 gUnknown_0203AB6F = 0; +static EWRAM_DATA u32 gUnknown_0203AB70 = 0; struct ListMenuTemplate gUnknown_030061D0; diff --git a/src/fieldmap.c b/src/fieldmap.c index a96b71c0f..b2b80a2df 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -52,15 +52,15 @@ struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection * void InitMap(void) { InitMapLayoutData(&gMapHeader); - sub_80E8EE0(gMapHeader.events); + SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events); RunOnLoadMapScript(); } void InitMapFromSavedGame(void) { InitMapLayoutData(&gMapHeader); - sub_80E9238(0); - sub_80E8EE0(gMapHeader.events); + InitSecretBaseAppearance(FALSE); + SetOccupiedSecretBaseEntranceMetatiles(gMapHeader.events); LoadSavedMapView(); RunOnLoadMapScript(); UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 3da1a9217..be655b86a 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -23,7 +23,7 @@ extern struct MapPosition gPlayerFacingPosition; -extern const u8 Route103_EventScript_290705[]; +extern const u8 EventScript_FldEffCut[]; extern const u8 FarawayIsland_Interior_EventScript_267EDB[]; extern const u8 gFieldEffectPic_CutGrass[]; @@ -327,7 +327,7 @@ bool8 FldEff_UseCutOnGrass(void) static void FieldCallback_CutTree(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(Route103_EventScript_290705); + ScriptContext1_SetupScript(EventScript_FldEffCut); } bool8 FldEff_UseCutOnTree(void) diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index efde43b76..39ed30260 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -488,8 +488,8 @@ static void sub_80F9DFC(u8 taskId) static void SetCurrentSecretBase(void) { - sub_80E9608(&gPlayerFacingPosition, gMapHeader.events); - sub_80E8B6C(); + SetCurSecretBaseIdFromPosition(&gPlayerFacingPosition, gMapHeader.events); + TrySetCurSecretBaseIndex(); } static void AdjustSecretPowerSpritePixelOffsets(void) @@ -544,7 +544,7 @@ bool8 SetUpFieldMove_SecretPower(void) { u8 mb; - sub_80E8BC8(); + CheckPlayerHasSecretBase(); if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH) return FALSE; @@ -623,10 +623,8 @@ static void CaveEntranceSpriteCallback2(struct Sprite *sprite) { if (sprite->data[0] < 40) { - sprite->data[0]++; - - if (sprite->data[0] == 20) - sub_80E8D4C(); + if (++sprite->data[0] == 20) + ToggleSecretBaseEntranceMetatile(); } else { @@ -681,7 +679,7 @@ bool8 FldEff_SecretPowerTree(void) 148); if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); return FALSE; } @@ -702,7 +700,7 @@ static void TreeEntranceSpriteCallback2(struct Sprite *sprite) if (sprite->data[0] >= 40) { if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); sprite->data[0] = 0; sprite->callback = TreeEntranceSpriteCallbackEnd; @@ -764,7 +762,7 @@ static void ShrubEntranceSpriteCallback2(struct Sprite *sprite) sprite->data[0]++; if (sprite->data[0] == 20) - sub_80E8D4C(); + ToggleSecretBaseEntranceMetatile(); } else { @@ -1168,7 +1166,7 @@ void GetShieldToyTVDecorationInfo(void) bool8 sub_80FADE4(u16 metatileId, u8 arg1) { - if (!CurrentMapIsSecretBase()) + if (!CurMapIsSecretBase()) return FALSE; if (!arg1) diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index a9077f2ff..18cebdf11 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -140,7 +140,7 @@ bool8 SetUpFieldMove_RockSmash(void) static void sub_81356C4(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(Route111_EventScript_2907F0); + ScriptContext1_SetupScript(EventScript_FldEffRockSmash); } bool8 FldEff_UseRockSmash(void) diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index c57ab8cdc..47fc7061c 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -30,7 +30,7 @@ bool8 SetUpFieldMove_Strength(void) static void FldEff_UseStrength(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); - ScriptContext1_SetupScript(FieryPath_EventScript_2908FD); + ScriptContext1_SetupScript(EventScript_FldEffStrength); } bool8 sub_8145E2C(void) diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index a187353ff..788310b5d 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -93,7 +93,7 @@ static void FailSweetScentEncounter(u8 taskId) { CpuFastSet(gPaletteDecompressionBuffer, gPlttBufferUnfaded, 0x100); sub_80AC3E4(); - ScriptContext1_SetupScript(EventScript_290CAE); + ScriptContext1_SetupScript(EventScript_FailSweetScent); DestroyTask(taskId); } } diff --git a/src/frontier_util.c b/src/frontier_util.c index bce7b926f..4dd8159cb 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -21,7 +21,7 @@ #include "apprentice.h" #include "pokedex.h" #include "recorded_battle.h" -#include "data2.h" +#include "data.h" #include "record_mixing.h" #include "strings.h" #include "alloc.h" diff --git a/src/graphics.c b/src/graphics.c index c243c64a5..0832101d8 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -21,112 +21,112 @@ const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprite const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz"); // Battle anims -const u32 gBattleAnimSpriteSheet_146[] = INCBIN_U32("graphics/battle_anims/sprites/146.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz"); -const u32 gBattleAnimSpritePalette_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.gbapal.lz"); -const u32 gBattleAnimSpritePalette_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.gbapal.lz"); -const u32 gBattleAnimSpritePalette_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.gbapal.lz"); -const u32 gBattleAnimSpritePalette_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.gbapal.lz"); -const u32 gBattleAnimSpritePalette_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.gbapal.lz"); -const u32 gBattleAnimSpritePalette_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.gbapal.lz"); +const u32 gBattleAnimSpritePal_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz"); +const u32 gBattleAnimSpritePal_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz"); +const u32 gBattleAnimSpritePal_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz"); +const u32 gBattleAnimSpritePal_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz"); +const u32 gBattleAnimSpritePal_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.4bpp.lz"); -const u32 gBattleAnimSpritePalette_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.4bpp.lz"); -const u32 gBattleAnimSpritePalette_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.4bpp.lz"); -const u32 gBattleAnimSpritePalette_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.4bpp.lz"); -const u32 gBattleAnimSpritePalette_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz"); +const u32 gBattleAnimSpritePal_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.4bpp.lz"); -const u32 gBattleAnimSpritePalette_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.4bpp.lz"); -const u32 gBattleAnimSpritePalette_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.4bpp.lz"); -const u32 gBattleAnimSpritePalette_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.4bpp.lz"); -const u32 gBattleAnimSpritePalette_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.4bpp.lz"); -const u32 gBattleAnimSpritePalette_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.4bpp.lz"); -const u32 gBattleAnimSpritePalette_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_017[] = INCBIN_U32("graphics/battle_anims/sprites/017.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz"); const u32 gUnknownGfx_C035B8[] = INCBIN_U32("graphics/unknown/unknown_C035B8.4bpp.lz"); -const u32 gBattleAnimSpritePalette_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.4bpp.lz"); +const u32 gBattleAnimSpritePal_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.4bpp.lz"); -const u32 gBattleAnimSpritePalette_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz"); -const u32 gBattleAnimSpritePalette_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz"); const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz"); const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz"); -const u32 gBattleAnimSpritePalette_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz"); -const u32 gBattleAnimSpritePalette_022[] = INCBIN_U32("graphics/battle_anims/sprites/022.gbapal.lz"); +const u32 gBattleAnimSpritePal_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.4bpp.lz"); +const u32 gBattleAnimSpritePal_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.4bpp.lz"); -const u32 gBattleAnimSpritePalette_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.4bpp.lz"); -const u32 gBattleAnimSpritePalette_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz"); -const u32 gBattleAnimSpritePalette_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.4bpp.lz"); +const u32 gBattleAnimSpritePal_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.4bpp.lz"); -const u32 gBattleAnimSpritePalette_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz"); +const u32 gBattleAnimSpritePal_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz"); -const u32 gBattleAnimSpritePalette_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz"); -const u32 gBattleAnimSpritePalette_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.4bpp.lz"); -const u32 gBattleAnimSpritePalette_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.4bpp.lz"); -const u32 gBattleAnimSpritePalette_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz"); -const u32 gBattleAnimSpritePalette_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_034[] = INCBIN_U32("graphics/battle_anims/sprites/034.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_035[] = INCBIN_U32("graphics/battle_anims/sprites/035.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz"); -const u32 gBattleAnimSpritePalette_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_037[] = INCBIN_U32("graphics/battle_anims/sprites/037.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz"); const u32 gUnknownGfx_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.4bpp.lz"); const u32 gUnknownPal_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.gbapal.lz"); @@ -141,118 +141,118 @@ const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpa const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz"); const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz"); -const u32 gBattleAnimSpritePalette_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.gbapal.lz"); -const u32 gBattleAnimSpritePalette_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_040[] = INCBIN_U32("graphics/battle_anims/sprites/040.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_041[] = INCBIN_U32("graphics/battle_anims/sprites/041.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz"); const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.gbapal.lz"); +const u32 gBattleAnimSpritePal_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.4bpp.lz"); -const u32 gBattleAnimSpritePalette_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz"); -const u32 gBattleAnimSpritePalette_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.4bpp.lz"); +const u32 gBattleAnimSpritePal_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz"); -const u32 gBattleAnimSpritePalette_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz"); const u32 gUnknown_08C08F0C[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz"); const u32 gUnknown_08C093C8[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz"); const u32 gUnknown_08C093F0[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.4bpp.lz"); -const u32 gBattleAnimSpritePalette_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz"); +const u32 gBattleAnimSpritePal_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz"); -const u32 gBattleAnimSpritePalette_047[] = INCBIN_U32("graphics/battle_anims/sprites/047.gbapal.lz"); +const u32 gBattleAnimSpritePal_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz"); const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz"); const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.4bpp.lz"); -const u32 gBattleAnimSpritePalette_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz"); -const u32 gBattleAnimSpritePalette_049[] = INCBIN_U32("graphics/battle_anims/sprites/049.gbapal.lz"); -const u32 gBattleAnimSpritePalette_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_051[] = INCBIN_U32("graphics/battle_anims/sprites/051.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_052[] = INCBIN_U32("graphics/battle_anims/sprites/052.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz"); const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz"); const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.4bpp.lz"); -const u32 gBattleAnimSpritePalette_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.4bpp.lz"); -const u32 gBattleAnimSpritePalette_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_055[] = INCBIN_U32("graphics/battle_anims/sprites/055.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.4bpp.lz"); -const u32 gBattleAnimSpritePalette_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.4bpp.lz"); -const u32 gBattleAnimSpritePalette_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz"); +const u32 gBattleAnimSpritePal_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.4bpp.lz"); -const u32 gBattleAnimSpritePalette_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz"); +const u32 gBattleAnimSpritePal_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.4bpp.lz"); -const u32 gBattleAnimSpritePalette_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.4bpp.lz"); -const u32 gBattleAnimSpritePalette_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.4bpp.lz"); -const u32 gBattleAnimSpritePalette_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.4bpp.lz"); -const u32 gBattleAnimSpritePalette_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz"); const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point -const u32 gBattleAnimSpritePalette_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.gbapal.lz"); +const u32 gBattleAnimSpritePal_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.4bpp.lz"); -const u32 gBattleAnimSpritePalette_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.4bpp.lz"); -const u32 gBattleAnimSpritePalette_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePal_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.4bpp.lz"); -const u32 gBattleAnimSpritePalette_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_071[] = INCBIN_U32("graphics/battle_anims/sprites/071.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.4bpp.lz"); -const u32 gBattleAnimSpritePalette_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.4bpp.lz"); -const u32 gBattleAnimSpritePalette_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz"); +const u32 gBattleAnimSpritePal_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.4bpp.lz"); -const u32 gBattleAnimSpritePalette_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.4bpp.lz"); -const u32 gBattleAnimSpritePalette_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_079[] = INCBIN_U32("graphics/battle_anims/sprites/079.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.4bpp.lz"); -const u32 gBattleAnimSpritePalette_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.4bpp.lz"); -const u32 gBattleAnimSpritePalette_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz"); const u16 gUnknown_C0CA1C[] = INCBIN_U16("graphics/unknown/unknown_C0CA1C.bin"); const u16 gUnknown_C0CA40[] = INCBIN_U16("graphics/unknown/unknown_C0CA40.bin"); @@ -261,85 +261,85 @@ const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch const u16 gUnknown_C0CAE0[] = INCBIN_U16("graphics/unknown/unknown_C0CAE0.bin"); const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz"); -const u32 gBattleAnimSpriteSheet_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.4bpp.lz"); -const u32 gBattleAnimSpritePalette_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.gbapal.lz"); -const u32 gBattleAnimSpritePalette_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.gbapal.lz"); -const u32 gBattleAnimSpritePalette_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.gbapal.lz"); -const u32 gBattleAnimSpritePalette_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.gbapal.lz"); -const u32 gBattleAnimSpritePalette_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.gbapal.lz"); -const u32 gBattleAnimSpritePalette_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.gbapal.lz"); -const u32 gBattleAnimSpritePalette_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.gbapal.lz"); -const u32 gBattleAnimSpritePalette_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.gbapal.lz"); -const u32 gBattleAnimSpritePalette_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.gbapal.lz"); -const u32 gBattleAnimSpritePalette_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz"); +const u32 gBattleAnimSpritePal_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz"); +const u32 gBattleAnimSpritePal_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz"); +const u32 gBattleAnimSpritePal_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz"); +const u32 gBattleAnimSpritePal_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz"); +const u32 gBattleAnimSpritePal_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz"); const u32 gUnknown_D0D2B4[] = INCBIN_U32("graphics/unknown/unknown_D0D2B4.bin.lz"); -const u32 gBattleAnimSpritePalette_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.gbapal.lz"); -const u32 gBattleAnimSpritePalette_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.gbapal.lz"); -const u32 gBattleAnimSpritePalette_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.gbapal.lz"); -const u32 gBattleAnimSpritePalette_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.gbapal.lz"); -const u32 gBattleAnimSpritePalette_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.gbapal.lz"); -const u32 gBattleAnimSpritePalette_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.gbapal.lz"); +const u32 gBattleAnimSpritePal_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz"); +const u32 gBattleAnimSpritePal_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz"); +const u32 gBattleAnimSpritePal_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz"); +const u32 gBattleAnimSpritePal_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz"); +const u32 gBattleAnimSpritePal_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_098[] = INCBIN_U32("graphics/battle_anims/sprites/098.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_102[] = INCBIN_U32("graphics/battle_anims/sprites/102.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.4bpp.lz"); -const u32 gBattleAnimSpritePalette_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.4bpp.lz"); -const u32 gBattleAnimSpritePalette_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_106[] = INCBIN_U32("graphics/battle_anims/sprites/106.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.4bpp.lz"); -const u32 gBattleAnimSpritePalette_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_108[] = INCBIN_U32("graphics/battle_anims/sprites/108.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.4bpp.lz"); -const u32 gBattleAnimSpritePalette_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_110[] = INCBIN_U32("graphics/battle_anims/sprites/110.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.4bpp.lz"); -const u32 gBattleAnimSpritePalette_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.4bpp.lz"); -const u32 gBattleAnimSpritePalette_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.4bpp.lz"); -const u32 gBattleAnimSpritePalette_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.4bpp.lz"); -const u32 gBattleAnimSpritePalette_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz"); const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps? const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz"); const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz"); const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz"); const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz"); const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz"); @@ -379,63 +379,63 @@ const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp"); const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.4bpp.lz"); -const u32 gBattleAnimSpritePalette_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz"); +const u32 gBattleAnimSpritePal_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.4bpp.lz"); -const u32 gBattleAnimSpritePalette_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.4bpp.lz"); -const u32 gBattleAnimSpritePalette_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.4bpp.lz"); -const u32 gBattleAnimSpritePalette_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.4bpp.lz"); -const u32 gBattleAnimSpritePalette_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.4bpp.lz"); -const u32 gBattleAnimSpritePalette_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz"); +const u32 gBattleAnimSpritePal_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.4bpp.lz"); -const u32 gBattleAnimSpritePalette_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_123[] = INCBIN_U32("graphics/battle_anims/sprites/123.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.4bpp.lz"); -const u32 gBattleAnimSpritePalette_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.4bpp.lz"); -const u32 gBattleAnimSpritePalette_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.4bpp.lz"); -const u32 gBattleAnimSpritePalette_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.4bpp.lz"); -const u32 gBattleAnimSpritePalette_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz"); +const u32 gBattleAnimSpritePal_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.4bpp.lz"); -const u32 gBattleAnimSpritePalette_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz"); +const u32 gBattleAnimSpritePal_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_129[] = INCBIN_U32("graphics/battle_anims/sprites/129.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.4bpp.lz"); -const u32 gBattleAnimSpritePalette_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_131[] = INCBIN_U32("graphics/battle_anims/sprites/131.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.4bpp.lz"); -const u32 gBattleAnimSpritePalette_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.4bpp.lz"); -const u32 gBattleAnimSpritePalette_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_134[] = INCBIN_U32("graphics/battle_anims/sprites/134.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.4bpp.lz"); -const u32 gBattleAnimSpritePalette_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_077[] = INCBIN_U32("graphics/battle_anims/sprites/077.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz"); // Contest @@ -446,8 +446,8 @@ const u32 gUnusedTilemap_OldContest[] = INCBIN_U32("graphics/unused/old_contest. const u32 gUnknownTilemap_C15BC0[] = INCBIN_U32("graphics/unknown/unknown_C15BC0.bin.lz"); const u32 gUnusedGfx_OldContest2[] = INCBIN_U32("graphics/unused/old_contest_2.4bpp.lz"); -const u32 gUnknown_08C16E90[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz"); -const u32 gUnknown_08C16FA8[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz"); +const u32 gOldContestPalette[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz"); +const u32 gOldContestGfx[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz"); const u32 gUnknown_08C17170[] = INCBIN_U32("graphics/unknown/unknown_C17170.bin.lz"); @@ -479,118 +479,118 @@ const u32 gUnknown_08C1A12C[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bi const u32 gUnknown_08C1A2B4[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.4bpp.lz"); -const u32 gBattleAnimSpritePalette_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.4bpp.lz"); -const u32 gBattleAnimSpritePalette_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_137[] = INCBIN_U32("graphics/battle_anims/sprites/137.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.4bpp.lz"); -const u32 gBattleAnimSpritePalette_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_145[] = INCBIN_U32("graphics/battle_anims/sprites/145.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_138[] = INCBIN_U32("graphics/battle_anims/sprites/138.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.4bpp.lz"); -const u32 gBattleAnimSpritePalette_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz"); +const u32 gBattleAnimSpritePal_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.4bpp.lz"); -const u32 gBattleAnimSpritePalette_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_142[] = INCBIN_U32("graphics/battle_anims/sprites/142.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz"); const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz"); const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.4bpp.lz"); -const u32 gBattleAnimSpritePalette_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_149[] = INCBIN_U32("graphics/battle_anims/sprites/149.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.4bpp.lz"); -const u32 gBattleAnimSpritePalette_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz"); -const u32 gBattleAnimSpritePalette_259[] = INCBIN_U32("graphics/battle_anims/sprites/259.gbapal.lz"); +const u32 gBattleAnimSpritePal_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.4bpp.lz"); -const u32 gBattleAnimSpritePalette_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.4bpp.lz"); -const u32 gBattleAnimSpritePalette_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_151[] = INCBIN_U32("graphics/battle_anims/sprites/151.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.4bpp.lz"); -const u32 gBattleAnimSpritePalette_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.4bpp.lz"); -const u32 gBattleAnimSpritePalette_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.4bpp.lz"); -const u32 gBattleAnimSpritePalette_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.4bpp.lz"); -const u32 gBattleAnimSpritePalette_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.4bpp.lz"); -const u32 gBattleAnimSpritePalette_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz"); -const u32 gBattleAnimSpritePalette_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.gbapal.lz"); +const u32 gBattleAnimSpritePal_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.4bpp.lz"); -const u32 gBattleAnimSpritePalette_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz"); +const u32 gBattleAnimSpritePal_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.4bpp.lz"); -const u32 gBattleAnimSpritePalette_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.4bpp.lz"); -const u32 gBattleAnimSpritePalette_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz"); const u32 gUnknownGfx_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.4bpp.lz"); const u32 gUnknownPal_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.gbapal.lz"); const u32 gUnknownTilemap_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.bin.lz"); -const u32 gBattleAnimSpriteSheet_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.4bpp.lz"); -const u32 gBattleAnimSpritePalette_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.4bpp.lz"); -const u32 gBattleAnimSpritePalette_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz"); -const u32 gBattleAnimSpritePalette_288[] = INCBIN_U32("graphics/battle_anims/sprites/288.gbapal.lz"); -const u32 gBattleAnimSpritePalette_164[] = INCBIN_U32("graphics/battle_anims/sprites/164.gbapal.lz"); -const u32 gBattleAnimSpritePalette_165[] = INCBIN_U32("graphics/battle_anims/sprites/165.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.4bpp.lz"); -const u32 gBattleAnimSpritePalette_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz"); -const u32 gBattleAnimSpritePalette_167[] = INCBIN_U32("graphics/battle_anims/sprites/167.gbapal.lz"); -const u32 gBattleAnimSpritePalette_168[] = INCBIN_U32("graphics/battle_anims/sprites/168.gbapal.lz"); -const u32 gBattleAnimSpritePalette_169[] = INCBIN_U32("graphics/battle_anims/sprites/169.gbapal.lz"); -const u32 gBattleAnimSpritePalette_170[] = INCBIN_U32("graphics/battle_anims/sprites/170.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.4bpp.lz"); -const u32 gBattleAnimSpritePalette_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz"); -const u32 gBattleAnimSpritePalette_172[] = INCBIN_U32("graphics/battle_anims/sprites/172.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz"); const u32 gContestJudgeGfx[] = INCBIN_U32("graphics/contest/judge.4bpp.lz"); const u32 gContest2Pal[] = INCBIN_U32("graphics/contest/judge.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.4bpp.lz"); -const u32 gBattleAnimSpritePalette_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_173[] = INCBIN_U32("graphics/battle_anims/sprites/173.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); -const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.bin.lz"); +const u32 gBattleAnimBgImage_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.4bpp.lz"); +const u32 gBattleAnimBgPalette_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.bin.lz"); const u32 gMetalShineGfx[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz"); const u32 gMetalShinePalette[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz"); @@ -600,48 +600,48 @@ const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz"); const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz"); -const u32 gBattleAnimSpriteSheet_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.4bpp.lz"); -const u32 gBattleAnimSpritePalette_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.4bpp.lz"); -const u32 gBattleAnimSpritePalette_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.4bpp.lz"); -const u32 gBattleAnimSpritePalette_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.4bpp.lz"); -const u32 gBattleAnimSpritePalette_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.4bpp.lz"); -const u32 gBattleAnimSpritePalette_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz"); -const u32 gBattleAnimSpritePalette_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.4bpp.lz"); +const u32 gBattleAnimSpritePal_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_180[] = INCBIN_U32("graphics/battle_anims/sprites/180.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_181[] = INCBIN_U32("graphics/battle_anims/sprites/181.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.4bpp.lz"); -const u32 gBattleAnimSpritePalette_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.4bpp.lz"); -const u32 gBattleAnimSpritePalette_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.4bpp.lz"); -const u32 gBattleAnimSpritePalette_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz"); +const u32 gBattleAnimSpritePal_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.4bpp.lz"); -const u32 gBattleAnimSpritePalette_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); +const u32 gBattleAnimSpritePal_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.bin.lz"); +const u32 gBattleAnimBgImage_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.4bpp.lz"); +const u32 gBattleAnimBgPalette_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.bin.lz"); -const u32 gBattleAnimSpriteSheet_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.4bpp.lz"); -const u32 gBattleAnimSpritePalette_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.4bpp.lz"); -const u32 gBattleAnimSpritePalette_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz"); const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz"); const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz"); @@ -652,237 +652,237 @@ const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbo const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz"); const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.4bpp.lz"); -const u32 gBattleAnimSpritePalette_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz"); +const u32 gBattleAnimSpritePal_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.4bpp.lz"); -const u32 gBattleAnimSpritePalette_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.4bpp.lz"); -const u32 gBattleAnimSpritePalette_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.4bpp.lz"); -const u32 gBattleAnimSpritePalette_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.4bpp.lz"); -const u32 gBattleAnimSpritePalette_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz"); +const u32 gBattleAnimSpritePal_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.4bpp.lz"); -const u32 gBattleAnimSpritePalette_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz"); const u32 gUnknown_08C20668[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz"); const u32 gUnknown_08C20684[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz"); -const u32 gBattleAnimSpriteSheet_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.4bpp.lz"); -const u32 gBattleAnimSpritePalette_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.4bpp.lz"); -const u32 gBattleAnimSpritePalette_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.4bpp.lz"); -const u32 gBattleAnimSpritePalette_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz"); +const u32 gBattleAnimSpritePal_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.4bpp.lz"); -const u32 gBattleAnimSpritePalette_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.4bpp.lz"); -const u32 gBattleAnimSpritePalette_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz"); +const u32 gBattleAnimSpritePal_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.4bpp.lz"); -const u32 gBattleAnimSpritePalette_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.4bpp.lz"); -const u32 gBattleAnimSpritePalette_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.4bpp.lz"); -const u32 gBattleAnimSpritePalette_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz"); +const u32 gBattleAnimSpritePal_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.4bpp.lz"); -const u32 gBattleAnimSpritePalette_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.4bpp.lz"); -const u32 gBattleAnimSpritePalette_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.4bpp.lz"); -const u32 gBattleAnimSpritePalette_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.4bpp.lz"); -const u32 gBattleAnimSpritePalette_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.4bpp.lz"); -const u32 gBattleAnimSpritePalette_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.4bpp.lz"); -const u32 gBattleAnimSpritePalette_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.4bpp.lz"); -const u32 gBattleAnimSpritePalette_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_208[] = INCBIN_U32("graphics/battle_anims/sprites/208.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.4bpp.lz"); -const u32 gBattleAnimSpritePalette_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.4bpp.lz"); -const u32 gBattleAnimSpritePalette_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz"); -const u32 gBattleAnimSpritePalette_219[] = INCBIN_U32("graphics/battle_anims/sprites/219.gbapal.lz"); -const u32 gBattleAnimSpritePalette_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.gbapal.lz"); -const u32 gBattleAnimSpritePalette_216[] = INCBIN_U32("graphics/battle_anims/sprites/216.gbapal.lz"); +const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); -const u32 gBattleAnimSpriteSheet_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.4bpp.lz"); -const u32 gBattleAnimSpritePalette_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_212[] = INCBIN_U32("graphics/battle_anims/sprites/212.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_213[] = INCBIN_U32("graphics/battle_anims/sprites/213.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz"); -const u32 gBattleAnimSpritePalette_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.gbapal.lz"); +const u32 gBattleAnimSpritePal_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_214[] = INCBIN_U32("graphics/battle_anims/sprites/214.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.4bpp.lz"); -const u32 gBattleAnimSpritePalette_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); -const u32 gBattleAnimSpritePalette_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.4bpp.lz"); +const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.4bpp.lz"); -const u32 gBattleAnimSpritePalette_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.4bpp.lz"); -const u32 gBattleAnimSpritePalette_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz"); -const u32 gBattleAnimSpritePalette_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.4bpp.lz"); +const u32 gBattleAnimSpritePal_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz"); -const u32 gBattleAnimSpritePalette_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.4bpp.lz"); +const u32 gBattleAnimSpritePal_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.4bpp.lz"); -const u32 gBattleAnimSpritePalette_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz"); +const u32 gBattleAnimSpritePal_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz"); -const u32 gBattleAnimSpritePalette_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.4bpp.lz"); +const u32 gBattleAnimSpritePal_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz"); -const u32 gBattleAnimSpritePalette_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.4bpp.lz"); +const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); -const u32 gBattleAnimSpritePalette_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.4bpp.lz"); +const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz"); -const u32 gBattleAnimSpritePalette_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.4bpp.lz"); +const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.bin.lz"); +const u32 gBattleAnimBgPalette_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.gbapal.lz"); +const u32 gBattleAnimBgImage_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.4bpp.lz"); +const u32 gBattleAnimBgTilemap_ImpactOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_opponent.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_05[] = INCBIN_U32("graphics/battle_anims/backgrounds/05.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_06[] = INCBIN_U32("graphics/battle_anims/backgrounds/06.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_contests.bin.lz"); -const u32 gBattleAnimSpriteSheet_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.4bpp.lz"); -const u32 gBattleAnimSpritePalette_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); +const u32 gBattleAnimSpritePal_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_227[] = INCBIN_U32("graphics/battle_anims/sprites/227.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.4bpp.lz"); -const u32 gBattleAnimSpritePalette_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.4bpp.lz"); -const u32 gBattleAnimSpritePalette_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz"); +const u32 gBattleAnimSpritePal_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.4bpp.lz"); -const u32 gBattleAnimSpritePalette_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz"); +const u32 gBattleAnimSpritePal_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_232[] = INCBIN_U32("graphics/battle_anims/sprites/232.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz"); -const u32 gBattleAnimSpritePalette_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.4bpp.lz"); +const u32 gBattleAnimSpritePal_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.4bpp.lz"); -const u32 gBattleAnimSpritePalette_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.4bpp.lz"); -const u32 gBattleAnimSpritePalette_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.4bpp.lz"); -const u32 gBattleAnimSpritePalette_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.4bpp.lz"); -const u32 gBattleAnimSpritePalette_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz"); -const u32 gBattleAnimSpritePalette_236[] = INCBIN_U32("graphics/battle_anims/sprites/236.gbapal.lz"); -const u32 gBattleAnimSpritePalette_237[] = INCBIN_U32("graphics/battle_anims/sprites/237.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.gbapal.lz"); +const u32 gBattleAnimBgImage_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.4bpp.lz"); +const u32 gBattleAnimBgPalette_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_18[] = INCBIN_U32("graphics/battle_anims/backgrounds/18.gbapal.lz"); +const u32 gBattleAnimBgPalette_Sky[] = INCBIN_U32("graphics/battle_anims/backgrounds/sky.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_08[] = INCBIN_U32("graphics/battle_anims/backgrounds/08.bin.lz"); +const u32 gBattleAnimBgTilemap_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.bin.lz"); +const u32 gBattleAnimBgTilemap_DrillContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill_contests.bin.lz"); -const u32 gBattleAnimBackgroundImage_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.bin.lz"); +const u32 gBattleAnimBgImage_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.4bpp.lz"); +const u32 gBattleAnimBgPalette_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.bin.lz"); -const u32 gBattleAnimBackgroundPalette_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.gbapal.lz"); +const u32 gBattleAnimBgTilemap_HighspeedOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_opponent.bin.lz"); +const u32 gBattleAnimBgPalette_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_22[] = INCBIN_U32("graphics/battle_anims/backgrounds/22.gbapal.lz"); +const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgrounds/bug.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_10[] = INCBIN_U32("graphics/battle_anims/backgrounds/10.bin.lz"); +const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz"); +const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz"); const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz"); const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz"); const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_13[] = INCBIN_U32("graphics/battle_anims/backgrounds/13.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_14[] = INCBIN_U32("graphics/battle_anims/backgrounds/14.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_contests.bin.lz"); -const u32 gBattleAnimBackgroundImage_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.gbapal.lz"); +const u32 gBattleAnimBgImage_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.4bpp.lz"); +const u32 gBattleAnimBgPalette_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.bin.lz"); +const u32 gBattleAnimBgImage_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.4bpp.lz"); +const u32 gBattleAnimBgPalette_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.bin.lz"); -const u32 gBattleAnimSpriteSheet_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.4bpp.lz"); -const u32 gBattleAnimSpritePalette_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); +const u32 gBattleAnimSpritePal_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.4bpp.lz"); -const u32 gBattleAnimSpritePalette_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz"); +const u32 gBattleAnimSpritePal_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.4bpp.lz"); -const u32 gBattleAnimSpritePalette_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz"); +const u32 gBattleAnimSpritePal_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz"); const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz"); const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz"); -const u32 gBattleAnimSpriteSheet_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.4bpp.lz"); -const u32 gBattleAnimSpritePalette_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz"); const u32 gContestConfetti_Gfx[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz"); const u32 gContestConfetti_Pal[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.4bpp.lz"); -const u32 gBattleAnimSpritePalette_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.4bpp.lz"); -const u32 gBattleAnimSpritePalette_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz"); +const u32 gBattleAnimSpritePal_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz"); const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz"); const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz"); @@ -901,52 +901,52 @@ const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbl const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); const u32 gCureBubblesTilemap[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); -const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_246[] = INCBIN_U32("graphics/battle_anims/sprites/246.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.4bpp.lz"); -const u32 gBattleAnimSpritePalette_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_247[] = INCBIN_U32("graphics/battle_anims/sprites/247.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_053[] = INCBIN_U32("graphics/battle_anims/sprites/053.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz"); const u32 gUnknown_08C2EA50[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz"); const u32 gUnknown_08C2EA9C[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.bin.lz"); -const u32 gBattleAnimSpriteSheet_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.4bpp.lz"); -const u32 gBattleAnimSpritePalette_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.4bpp.lz"); -const u32 gBattleAnimSpritePalette_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_250[] = INCBIN_U32("graphics/battle_anims/sprites/250.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.4bpp.lz"); -const u32 gBattleAnimSpritePalette_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.4bpp.lz"); -const u32 gBattleAnimSpritePalette_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); +const u32 gBattleAnimSpritePal_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.4bpp.lz"); -const u32 gBattleAnimSpritePalette_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.4bpp.lz"); -const u32 gBattleAnimSpritePalette_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.4bpp.lz"); -const u32 gBattleAnimSpritePalette_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.4bpp.lz"); -const u32 gBattleAnimSpritePalette_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz"); +const u32 gBattleAnimSpritePal_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.4bpp.lz"); -const u32 gBattleAnimSpritePalette_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz"); +const u32 gBattleAnimSpritePal_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.4bpp.lz"); -const u32 gBattleAnimSpritePalette_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz"); const u32 gUnknownPal_C2F9E0[] = INCBIN_U32("graphics/unknown/unknown_C2F9E0.gbapal.lz"); @@ -1005,58 +1005,58 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile #include "data/graphics/intro_scene.h" -const u32 gBattleAnimSpriteSheet_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); -const u32 gBattleAnimSpritePalette_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.gbapal.lz"); +const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.4bpp.lz"); -const u32 gBattleAnimSpritePalette_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.bin.lz"); +const u32 gBattleAnimBgImage_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.bin.lz"); -const u32 gBattleAnimSpriteSheet_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.4bpp.lz"); -const u32 gBattleAnimSpritePalette_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); +const u32 gBattleAnimSpritePal_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz"); const u8 gContestNextTurnNumbersGfx[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp"); const u8 gContestNextTurnRandomGfx[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp"); -const u32 gBattleAnimSpriteSheet_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.4bpp.lz"); -const u32 gBattleAnimSpritePalette_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.gbapal.lz"); -const u32 gBattleAnimSpritePalette_265[] = INCBIN_U32("graphics/battle_anims/sprites/265.gbapal.lz"); -const u32 gBattleAnimSpritePalette_067[] = INCBIN_U32("graphics/battle_anims/sprites/067.gbapal.lz"); -const u32 gBattleAnimSpritePalette_068[] = INCBIN_U32("graphics/battle_anims/sprites/068.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz"); +const u32 gBattleAnimSpritePal_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz"); const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz"); const u8 gContestApplauseMeterGfx[] = INCBIN_U8("graphics/contest/applause_meter.4bpp"); const u16 gContestPal[] = INCBIN_U16("graphics/contest/nextturn.gbapal"); -const u32 gBattleAnimSpriteSheet_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.4bpp.lz"); -const u32 gBattleAnimSpritePalette_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_273[] = INCBIN_U32("graphics/battle_anims/sprites/273.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.4bpp.lz"); -const u32 gBattleAnimSpritePalette_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_275[] = INCBIN_U32("graphics/battle_anims/sprites/275.4bpp.lz"); -const u32 gBattleAnimSpriteSheet_276[] = INCBIN_U32("graphics/battle_anims/sprites/276.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.gbapal.lz"); +const u32 gBattleAnimSpritePal_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.bin.lz"); +const u32 gBattleAnimBgImage_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.4bpp.lz"); +const u32 gBattleAnimBgPalette_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.gbapal.lz"); +const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.bin.lz"); -const u32 gBattleAnimSpriteSheet_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.4bpp.lz"); -const u32 gBattleAnimSpritePalette_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); +const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); @@ -1066,13 +1066,13 @@ const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_inte const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); -const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.bin.lz"); +const u32 gBattleAnimBgImage_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.bin.lz"); -const u32 gBattleAnimSpritePalette_287[] = INCBIN_U32("graphics/battle_anims/sprites/287.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); -const u32 gBattleAnimBackgroundPalette_24[] = INCBIN_U32("graphics/battle_anims/backgrounds/24.gbapal.lz"); +const u32 gBattleAnimBgPalette_Solarbeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz"); const u32 gUnknown_E6BC04[] = INCBIN_U32("graphics/unknown/unknown_E6BC04.bin.lz"); @@ -1081,51 +1081,51 @@ const u32 sBlenderCenterGfx[] = INCBIN_U32("graphics/berry_blender/center.8bpp.l const u32 gUnknown_08D91DB8[] = INCBIN_U32("graphics/berry_blender/outer.4bpp.lz"); const u32 gUnknown_08D927EC[] = INCBIN_U32("graphics/berry_blender/outer_map.bin.lz"); -const u32 gBattleAnimBackgroundPalette_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.bin.lz"); +const u32 gBattleAnimBgPalette_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.gbapal.lz"); +const u32 gBattleAnimBgImage_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.4bpp.lz"); +const u32 gBattleAnimBgTilemap_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.bin.lz"); -const u32 gBattleAnimSpritePalette_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz"); -const u32 gBattleAnimSpritePalette_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.4bpp.lz"); +const u32 gBattleAnimSpritePal_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); -const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); -const u32 gBattleAnimSpriteSheet_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.4bpp.lz"); -const u32 gBattleAnimSpritePalette_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.4bpp.lz"); -const u32 gBattleAnimSpritePalette_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.gbapal.lz"); -const u32 gBattleAnimSpritePalette_267[] = INCBIN_U32("graphics/battle_anims/sprites/267.gbapal.lz"); -const u32 gBattleAnimSpritePalette_268[] = INCBIN_U32("graphics/battle_anims/sprites/268.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.4bpp.lz"); -const u32 gBattleAnimSpritePalette_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.4bpp.lz"); -const u32 gBattleAnimSpritePalette_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.4bpp.lz"); -const u32 gBattleAnimSpritePalette_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); +const u32 gBattleAnimSpritePal_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.gbapal.lz"); -const u32 gBattleAnimBackgroundTilemap_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.bin.lz"); +const u32 gBattleAnimBgImage_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.4bpp.lz"); +const u32 gBattleAnimBgPalette_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.bin.lz"); -const u32 gBattleAnimSpriteSheet_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.4bpp.lz"); -const u32 gBattleAnimSpritePalette_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.4bpp.lz"); -const u32 gBattleAnimSpritePalette_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); -const u32 gBattleAnimBackgroundImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); -const u32 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); +const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); +const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); const u32 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz"); @@ -1133,10 +1133,10 @@ const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin. const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz"); -const u32 gBattleAnimSpritePalette_286[] = INCBIN_U32("graphics/battle_anims/sprites/286.gbapal.lz"); +const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.4bpp.lz"); -const u32 gBattleAnimSpritePalette_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz"); const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz"); @@ -1223,14 +1223,14 @@ const u32 gUnknown_08D9BA44[] = INCBIN_U32("graphics/interface/pokeblock_feeding #include "data/graphics/items.h" #include "data/graphics/decorations.h" -const u32 gBattleAnimSpritePalette_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz"); -const u32 gBattleAnimSpritePalette_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz"); -const u32 gBattleAnimSpritePalette_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.gbapal.lz"); -const u32 gBattleAnimSpriteSheet_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz"); const u16 gUnknown_08DBA518[] = INCBIN_U16("graphics/misc/cable_car_bg.gbapal"); const u16 gCableCar_Pal[] = INCBIN_U16("graphics/misc/cable_car.gbapal"); @@ -1363,7 +1363,7 @@ 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 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom.gbapal"); +const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom_tiles.gbapal"); const u32 gHoennMapZoomIcons_Gfx[] = INCBIN_U32("graphics/pokenav/zoom.4bpp.lz"); const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/cancel.gbapal"); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 8eba90d96..fdf2020ff 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -32,7 +32,7 @@ #include "menu.h" #include "fldeff_misc.h" #include "trainer_pokemon_sprites.h" -#include "data2.h" +#include "data.h" #include "rom_81520A8.h" #include "constants/rgb.h" diff --git a/src/hof_pc.c b/src/hof_pc.c index d76f04372..01015ee81 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -6,6 +6,7 @@ #include "script.h" #include "script_menu.h" #include "task.h" +#include "constants/rgb.h" static void ReshowPCMenuAfterHallOfFamePC(void); static void Task_WaitForPaletteFade(u8); @@ -28,7 +29,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) Overworld_PlaySpecialMapMusic(); ScrSpecial_CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); CreateTask(Task_WaitForPaletteFade, 10); } @@ -47,7 +47,7 @@ void AnimIceBallParticle(struct Sprite *); void AnimTask_Haze2(u8); void AnimTask_OverlayFogTiles(u8); void AnimTask_Hail2(u8); -bool8 GenerateHailParticle(u8, u8, u8, u8); +bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c); const union AnimCmd gUnknown_08595A48[] = { @@ -522,37 +522,33 @@ const struct SpriteTemplate gUnknown_08595DFC = .callback = InitIceBallParticle, }; - // probably unused -#ifdef NONMATCHING static void sub_810B6C4(struct Sprite *sprite) { s16 targetX, targetY, attackerX, attackerY; - s16 i; sprite->oam.tileNum += 7; - targetX = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - targetY = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[4]; sprite->data[1] = gBattleAnimArgs[0] + attackerX; sprite->data[2] = gBattleAnimArgs[2] + targetX; sprite->data[3] = gBattleAnimArgs[1] + attackerY; sprite->data[4] = gBattleAnimArgs[3] + targetY; sub_80A64EC(sprite); - while ((targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192)) - { - targetX += sprite->data[1]; - targetY += sprite->data[2]; - } + + for (;(targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192); + targetX += sprite->data[1], targetY += sprite->data[2]) + ; + sprite->data[1] = -sprite->data[1]; sprite->data[2] = -sprite->data[2]; - while ((attackerX >= -32 && attackerX <= 272) && (attackerY >= -32 && attackerY <= 192)) - { - attackerX += sprite->data[1]; - attackerY += sprite->data[2]; - } + for (;(attackerX >= -32 && attackerX <= 272) && (attackerY >= -32 && attackerY <= 192); + attackerX += sprite->data[1], attackerY += sprite->data[2]) + ; + sprite->pos1.x = attackerX; sprite->pos1.y = attackerY; sprite->data[0] = gBattleAnimArgs[4]; @@ -565,195 +561,6 @@ static void sub_810B6C4(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[6]; sprite->callback = sub_810B848; } -#else -NAKED -static void sub_810B6C4(struct Sprite *sprite) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x4\n\ - adds r5, r0, 0\n\ - ldrh r2, [r5, 0x4]\n\ - lsls r1, r2, 22\n\ - lsrs r1, 22\n\ - adds r1, 0x7\n\ - ldr r3, =0x000003ff\n\ - adds r0, r3, 0\n\ - ands r1, r0\n\ - ldr r0, =0xfffffc00\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strh r0, [r5, 0x4]\n\ - ldr r4, =gBattleAnimTarget\n\ - ldrb r0, [r4]\n\ - movs r1, 0x2\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ - ldrb r0, [r4]\n\ - movs r1, 0x3\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - ldr r4, =gBattleAnimAttacker\n\ - ldrb r0, [r4]\n\ - movs r1, 0x2\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - ldrb r0, [r4]\n\ - movs r1, 0x3\n\ - str r3, [sp]\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - ldr r1, =gBattleAnimArgs\n\ - ldrh r0, [r1, 0x8]\n\ - strh r0, [r5, 0x2E]\n\ - ldrh r0, [r1]\n\ - ldr r3, [sp]\n\ - adds r0, r3\n\ - strh r0, [r5, 0x30]\n\ - ldrh r0, [r1, 0x4]\n\ - mov r4, r9\n\ - adds r0, r4, r0\n\ - strh r0, [r5, 0x32]\n\ - ldrh r0, [r1, 0x2]\n\ - adds r0, r6\n\ - strh r0, [r5, 0x34]\n\ - ldrh r0, [r1, 0x6]\n\ - mov r7, r8\n\ - adds r0, r7, r0\n\ - strh r0, [r5, 0x36]\n\ - adds r0, r5, 0\n\ - bl sub_80A64EC\n\ - adds r4, 0x20\n\ - movs r0, 0x98\n\ - lsls r0, 1\n\ - mov r12, r0\n\ - ldr r3, [sp]\n\ - cmp r4, r12\n\ - bhi _0810B79E\n\ - adds r0, r7, 0\n\ - adds r0, 0x20\n\ - ldrh r1, [r5, 0x30]\n\ - ldrh r2, [r5, 0x32]\n\ - cmp r0, 0xE0\n\ - bhi _0810B79E\n\ - adds r4, r1, 0\n\ - mov r10, r12\n\ -_0810B76A:\n\ - mov r7, r9\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - adds r1, r4\n\ - lsls r1, 16\n\ - mov r7, r8\n\ - lsls r0, r7, 16\n\ - asrs r0, 16\n\ - adds r0, r2\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r8, r0\n\ - lsrs r0, r1, 16\n\ - mov r9, r0\n\ - movs r7, 0x80\n\ - lsls r7, 14\n\ - adds r1, r7\n\ - lsrs r1, 16\n\ - cmp r1, r10\n\ - bhi _0810B79E\n\ - mov r1, r8\n\ - lsls r0, r1, 16\n\ - adds r0, r7\n\ - lsrs r0, 16\n\ - cmp r0, 0xE0\n\ - bls _0810B76A\n\ -_0810B79E:\n\ - ldrh r0, [r5, 0x30]\n\ - negs r7, r0\n\ - strh r7, [r5, 0x30]\n\ - ldrh r0, [r5, 0x32]\n\ - negs r4, r0\n\ - strh r4, [r5, 0x32]\n\ - lsls r0, r3, 16\n\ - movs r1, 0x80\n\ - lsls r1, 14\n\ - adds r0, r1\n\ - lsrs r0, 16\n\ - movs r2, 0x98\n\ - lsls r2, 1\n\ - mov r12, r2\n\ - ldr r1, =gBattleAnimArgs\n\ - mov r10, r1\n\ - cmp r0, r12\n\ - bhi _0810B80A\n\ - lsls r1, r6, 16\n\ - movs r2, 0x80\n\ - lsls r2, 14\n\ - adds r0, r1, r2\n\ - b _0810B802\n\ - .pool\n\ -_0810B7E0:\n\ - lsls r1, r3, 16\n\ - asrs r1, 16\n\ - adds r1, r7\n\ - lsls r1, 16\n\ - asrs r0, r2, 16\n\ - adds r0, r4\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - lsrs r3, r1, 16\n\ - movs r0, 0x80\n\ - lsls r0, 14\n\ - adds r1, r0\n\ - lsrs r1, 16\n\ - cmp r1, r12\n\ - bhi _0810B80A\n\ - lsls r1, r6, 16\n\ - adds r0, r1, r0\n\ -_0810B802:\n\ - lsrs r0, 16\n\ - adds r2, r1, 0\n\ - cmp r0, 0xE0\n\ - bls _0810B7E0\n\ -_0810B80A:\n\ - strh r3, [r5, 0x20]\n\ - strh r6, [r5, 0x22]\n\ - mov r1, r10\n\ - ldrh r0, [r1, 0x8]\n\ - strh r0, [r5, 0x2E]\n\ - strh r3, [r5, 0x30]\n\ - mov r2, r9\n\ - strh r2, [r5, 0x32]\n\ - strh r6, [r5, 0x34]\n\ - mov r3, r8\n\ - strh r3, [r5, 0x36]\n\ - adds r0, r5, 0\n\ - bl sub_80A64EC\n\ - mov r7, r10\n\ - ldrh r0, [r7, 0xA]\n\ - strh r0, [r5, 0x34]\n\ - ldrh r0, [r7, 0xC]\n\ - strh r0, [r5, 0x36]\n\ - ldr r0, =sub_810B848\n\ - str r0, [r5, 0x1C]\n\ - add sp, 0x4\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n"); -} -#endif void sub_810B848(struct Sprite *sprite) { @@ -797,14 +604,14 @@ void AnimIcePunchSwirlingParticle(struct Sprite *sprite) void AnimIceBeamParticle(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->data[2] -= gBattleAnimArgs[2]; else sprite->data[2] += gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; sprite->data[0] = gBattleAnimArgs[4]; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); sprite->callback = StartAnimLinearTranslation; @@ -863,8 +670,8 @@ void AnimSwirlingSnowball_Step1(struct Sprite *sprite) if (!gBattleAnimArgs[5]) { - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; } else { @@ -983,8 +790,8 @@ void AnimMoveParticleBeyondTarget(struct Sprite *sprite) if (!gBattleAnimArgs[7]) { - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); } else { @@ -1274,8 +1081,8 @@ void AnimTask_Haze2(u8 taskId) // arg 5: ??? unknown (seems to vibrate target mon somehow) void AnimThrowMistBall(struct Sprite *sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->callback = TranslateAnimSpriteToTargetMonLocation; } @@ -1380,7 +1187,7 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; - if (GetBattlerSpriteCoord(gBattleAnimAttacker, 2) < GetBattlerSpriteCoord(gBattleAnimTarget, 2)) + if (GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2)) sprite->data[7] = 0x8000; if (!(gBattlerPositions[gBattleAnimTarget] & 1)) @@ -1394,22 +1201,22 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite) sprite->data[6] = 1; } - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); if (gBattleAnimArgs[7]) { sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[3]; sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[4]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[4]; sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; } else { sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[3]; sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[4]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[4]; sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; } @@ -1441,7 +1248,7 @@ void MovePoisonGasCloud(struct Sprite *sprite) if (sprite->data[0] <= 0) { sprite->data[0] = 80; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->pos1.y += sprite->pos2.y; @@ -1575,238 +1382,63 @@ void AnimTask_Hail2(u8 taskId) } } -#ifdef NONMATCHING -bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) +bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) { - bool8 possibleBool = FALSE; - // s8 unk = gUnknown_08595CB4[a].unk3; - const struct HailStruct *hailData = &gUnknown_08595CB4[a]; - s8 unk = hailData->unk3; - u8 battler; + u8 id; s16 battlerX, battlerY; - u8 spriteId; - // struct Sprite *sprite; s16 spriteX; + bool8 possibleBool = FALSE; + s8 unk = gUnknown_08595CB4[hailStructId].unk3; if (unk != 2) { - battler = GetBattlerAtPosition(hailData->unk2); - if (IsBattlerSpriteVisible(battler)) + id = GetBattlerAtPosition(gUnknown_08595CB4[hailStructId].unk2); + if (IsBattlerSpriteVisible(id)) { possibleBool = TRUE; - battlerX = GetBattlerSpriteCoord(battler, 2); - battlerY = GetBattlerSpriteCoord(battler, 3); + battlerX = GetBattlerSpriteCoord(id, BATTLER_COORD_X_2); + battlerY = GetBattlerSpriteCoord(id, BATTLER_COORD_Y_PIC_OFFSET); switch (unk) { - case 0: - battlerX -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; - battlerY -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; - break; - case 1: - battlerX += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; - battlerY += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; - break; + case 0: + battlerX -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; + break; + case 1: + battlerX += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; + break; } } + else + { + battlerX = (gUnknown_08595CB4[hailStructId].unk0); + battlerY = (gUnknown_08595CB4[hailStructId].unk1); + } } else { - battlerX = (hailData->unk0); - battlerY = (hailData->unk1); + battlerX = (gUnknown_08595CB4[hailStructId].unk0); + battlerY = (gUnknown_08595CB4[hailStructId].unk1); } spriteX = battlerX - ((battlerY + 8) / 2); - spriteId = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18); - if (spriteId == MAX_SPRITES) + id = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18); + if (id == MAX_SPRITES) + { return FALSE; - // sprite = &gSprites[spriteId]; - StartSpriteAffineAnim(&gSprites[spriteId], b); - gSprites[spriteId].data[0] = possibleBool; - gSprites[spriteId].data[3] = battlerX; - gSprites[spriteId].data[4] = battlerY; - gSprites[spriteId].data[5] = b; - gSprites[spriteId].data[6] = taskId; - gSprites[spriteId].data[7] = c; - return TRUE; -} -#else -NAKED -bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r9, r1\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - str r2, [sp]\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - mov r10, r3\n\ - movs r1, 0\n\ - str r1, [sp, 0x4]\n\ - ldr r1, =gUnknown_08595CB4\n\ - lsrs r0, 22\n\ - adds r4, r0, r1\n\ - ldrb r0, [r4, 0x3]\n\ - lsls r0, 24\n\ - asrs r0, 28\n\ - mov r8, r0\n\ - cmp r0, 0x2\n\ - beq _0810CAD0\n\ - ldrh r0, [r4, 0x2]\n\ - lsls r0, 20\n\ - lsrs r0, 24\n\ - bl GetBattlerAtPosition\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - adds r0, r5, 0\n\ - bl IsBattlerSpriteVisible\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0810CAD0\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - adds r0, r5, 0\n\ - movs r1, 0x2\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - adds r0, r5, 0\n\ - movs r1, 0x3\n\ - bl GetBattlerSpriteCoord\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - mov r1, r8\n\ - cmp r1, 0\n\ - beq _0810CA60\n\ - cmp r1, 0x1\n\ - beq _0810CA96\n\ - b _0810CAE2\n\ - .pool\n\ -_0810CA60:\n\ - adds r0, r5, 0\n\ - movs r1, 0x1\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - subs r1, r0\n\ - lsls r1, 16\n\ - lsrs r7, r1, 16\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r6, 16\n\ - asrs r1, 16\n\ - subs r1, r0\n\ - b _0810CACA\n\ -_0810CA96:\n\ - adds r0, r5, 0\n\ - movs r1, 0x1\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - adds r1, r0\n\ - lsls r1, 16\n\ - lsrs r7, r1, 16\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl GetBattlerSpriteCoordAttr\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r1, 0x6\n\ - bl __divsi3\n\ - lsls r1, r6, 16\n\ - asrs r1, 16\n\ - adds r1, r0\n\ -_0810CACA:\n\ - lsls r1, 16\n\ - lsrs r6, r1, 16\n\ - b _0810CAE2\n\ -_0810CAD0:\n\ - ldrh r0, [r4]\n\ - lsls r0, 22\n\ - asrs r0, 6\n\ - lsrs r7, r0, 16\n\ - ldr r0, [r4]\n\ - lsls r0, 12\n\ - asrs r0, 22\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ -_0810CAE2:\n\ - lsls r0, r6, 16\n\ - asrs r0, 16\n\ - adds r0, 0x8\n\ - lsrs r1, r0, 31\n\ - adds r0, r1\n\ - asrs r0, 1\n\ - lsls r1, r7, 16\n\ - asrs r1, 16\n\ - subs r1, r0\n\ - ldr r0, =gUnknown_08595D2C\n\ - lsls r1, 16\n\ - asrs r1, 16\n\ - movs r2, 0x8\n\ - negs r2, r2\n\ - movs r3, 0x12\n\ - bl CreateSprite\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x40\n\ - beq _0810CB44\n\ - lsls r4, r5, 4\n\ - adds r4, r5\n\ - lsls r4, 2\n\ - ldr r0, =gSprites\n\ - adds r4, r0\n\ - adds r0, r4, 0\n\ - mov r1, r9\n\ - bl StartSpriteAffineAnim\n\ - mov r0, sp\n\ - ldrh r0, [r0, 0x4]\n\ - strh r0, [r4, 0x2E]\n\ - strh r7, [r4, 0x34]\n\ - strh r6, [r4, 0x36]\n\ - mov r1, r9\n\ - strh r1, [r4, 0x38]\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - strh r0, [r4, 0x3A]\n\ - mov r1, r10\n\ - strh r1, [r4, 0x3C]\n\ - movs r0, 0x1\n\ - b _0810CB46\n\ - .pool\n\ -_0810CB44:\n\ - movs r0, 0\n\ -_0810CB46:\n\ - add sp, 0x8\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n"); + } + else + { + StartSpriteAffineAnim(&gSprites[id], affineAnimNum); + gSprites[id].data[0] = possibleBool; + gSprites[id].data[3] = battlerX; + gSprites[id].data[4] = battlerY; + gSprites[id].data[5] = affineAnimNum; + gSprites[id].data[6] = taskId; + gSprites[id].data[7] = c; + return TRUE; + } } -#endif void AnimHailBegin(struct Sprite *sprite) { @@ -1874,8 +1506,8 @@ void InitIceBallAnim(struct Sprite *sprite) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimArcTranslation(sprite); diff --git a/src/international_string_util.c b/src/international_string_util.c index dfeda49e3..9dc795dd0 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -93,7 +93,7 @@ void CopyMonCategoryText(int dexNum, u8 *dest) StringCopy(str + 1, gText_Pokemon); } -u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth) +u8 *sub_81DB494(u8 *str, int fontId, const u8 *str2, int totalStringWidth) { u8 *buffer; int width; diff --git a/src/item.c b/src/item.c index 0e13ddf4c..fe8e8eadd 100644 --- a/src/item.c +++ b/src/item.c @@ -537,7 +537,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) if (totalQuantity < count) return FALSE; // We don't have enough of the item - if (CurrentMapIsSecretBase() == TRUE) + if (CurMapIsSecretBase() == TRUE) { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x200); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, itemId); diff --git a/src/item_menu.c b/src/item_menu.c index 8edf6f279..bfeeaacd0 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -8,7 +8,7 @@ #include "bg.h" #include "constants/items.h" #include "constants/songs.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "event_object_movement.h" @@ -49,6 +49,7 @@ #include "window.h" #include "apprentice.h" #include "battle_pike.h" +#include "constants/rgb.h" void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); void CB2_Bag(void); @@ -659,7 +660,7 @@ bool8 setup_bag_menu(void) gMain.state++; break; case 20: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = FALSE; gMain.state++; break; @@ -942,7 +943,7 @@ void free_bag_item_list_buffers(void) void unknown_ItemMenu_Confirm(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = task_close_bag_menu_2; } diff --git a/src/item_use.c b/src/item_use.c index 159ece398..97aceb7ad 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -7,7 +7,7 @@ #include "berry_powder.h" #include "bike.h" #include "coins.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "fieldmap.h" @@ -37,6 +37,7 @@ #include "constants/bg_event_constants.h" #include "constants/event_objects.h" #include "constants/flags.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/vars.h" @@ -389,7 +390,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) bool8 sub_80FD730(struct MapConnection *connection, int x, int y) { - + u16 localX, localY; u32 localOffset; s32 localLength; @@ -1026,44 +1027,45 @@ void ItemUseInBattle_Escape(u8 taskId) void ItemUseOutOfBattle_EnigmaBerry(u8 taskId) { - switch (GetItemEffectType(gSpecialVar_ItemId) - 1) + switch (GetItemEffectType(gSpecialVar_ItemId)) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: + case ITEM_EFFECT_HEAL_HP: + case ITEM_EFFECT_CURE_POISON: + case ITEM_EFFECT_CURE_SLEEP: + case ITEM_EFFECT_CURE_BURN: + case ITEM_EFFECT_CURE_FREEZE: + case ITEM_EFFECT_CURE_PARALYSIS: + case ITEM_EFFECT_CURE_ALL_STATUS: + case ITEM_EFFECT_ATK_EV: + case ITEM_EFFECT_HP_EV: + case ITEM_EFFECT_SPATK_EV: + case ITEM_EFFECT_SPDEF_EV: + case ITEM_EFFECT_SPEED_EV: + case ITEM_EFFECT_DEF_EV: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_Medicine(taskId); break; - case 9: + case ITEM_EFFECT_SACRED_ASH: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_SacredAsh(taskId); break; - case 0: + case ITEM_EFFECT_RAISE_LEVEL: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_RareCandy(taskId); break; - case 18: - case 19: + case ITEM_EFFECT_PP_UP: + case ITEM_EFFECT_PP_MAX: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_PPUp(taskId); break; - case 20: + case ITEM_EFFECT_HEAL_PP: gTasks[taskId].data[4] = 1; ItemUseOutOfBattle_PPRecovery(taskId); break; default: gTasks[taskId].data[4] = 4; ItemUseOutOfBattle_CannotUse(taskId); + break; } } @@ -1071,25 +1073,26 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId) { switch (GetItemEffectType(gSpecialVar_ItemId)) { - case 0: + case ITEM_EFFECT_X_ITEM: ItemUseInBattle_StatIncrease(taskId); break; - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 11: + case ITEM_EFFECT_HEAL_HP: + case ITEM_EFFECT_CURE_POISON: + case ITEM_EFFECT_CURE_SLEEP: + case ITEM_EFFECT_CURE_BURN: + case ITEM_EFFECT_CURE_FREEZE: + case ITEM_EFFECT_CURE_PARALYSIS: + case ITEM_EFFECT_CURE_ALL_STATUS: + case ITEM_EFFECT_CURE_CONFUSION: + case ITEM_EFFECT_CURE_INFATUATION: ItemUseInBattle_Medicine(taskId); break; - case 21: + case ITEM_EFFECT_HEAL_PP: ItemUseInBattle_PPRecovery(taskId); break; default: ItemUseOutOfBattle_CannotUse(taskId); + break; } } diff --git a/src/link.c b/src/link.c index 525d50d7c..bcdcb52a4 100644 --- a/src/link.c +++ b/src/link.c @@ -27,6 +27,7 @@ #include "battle.h" #include "link.h" #include "link_rfu.h" +#include "constants/rgb.h" extern u16 gHeldKeyCodeToSend; @@ -444,7 +445,7 @@ static void LinkTestProcessKeyInput(void) } if (gMain.newKeys & L_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 2); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(2, 0, 0)); } if (gMain.newKeys & START_BUTTON) { diff --git a/src/link_rfu.c b/src/link_rfu.c index 7c55df783..9732e9889 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2263,7 +2263,7 @@ void DestroyWirelessStatusIndicatorSprite(void) } } -void sub_800E0E8(void) +void LoadWirelessStatusIndicatorSpriteGfx(void) { if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF) { diff --git a/src/mail.c b/src/mail.c index 9cca4492e..0078bc4fc 100644 --- a/src/mail.c +++ b/src/mail.c @@ -19,6 +19,7 @@ #include "constants/species.h" #include "alloc.h" #include "easy_chat.h" +#include "constants/rgb.h" extern const u16 gMailPalette_Orange[]; extern const u16 gMailPalette_Harbor[]; @@ -417,7 +418,7 @@ static bool8 MailReadBuildGraphics(void) ShowBg(0); ShowBg(1); ShowBg(2); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = FALSE; sMailRead->callback2 = CB2_WaitForPaletteExitOnKeyPress; return TRUE; @@ -526,7 +527,7 @@ static void CB2_ExitOnKeyPress(void) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); sMailRead->callback2 = CB2_ExitMailReadFreeVars; } } diff --git a/src/main_menu.c b/src/main_menu.c index 504c1bd33..bc509c70d 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -584,9 +584,9 @@ static u32 InitMainMenu(bool8 returningFromOptionsMenu) ResetSpriteData(); FreeAllSpritePalettes(); if (returningFromOptionsMenu) - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0x0000); // fade to black + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); // fade to black else - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_WHITEALPHA); // fade to white ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sMainMenuBgTemplates, ARRAY_COUNT(sMainMenuBgTemplates)); ChangeBgX(0, 0, 0); @@ -1098,7 +1098,7 @@ static void Task_HandleMainMenuAPressed(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, 0); SetGpuReg(REG_OFFSET_BG0HOFS, 0); SetGpuReg(REG_OFFSET_BG0VOFS, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); return; } FreeAllWindowBuffers(); @@ -1287,7 +1287,7 @@ static void Task_NewGameBirchSpeech_Init(u8 taskId) FreeAllSpritePalettes(); ResetAllPicSprites(); AddBirchSpeechObjects(taskId); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gTasks[taskId].tBG1HOFS = 0; gTasks[taskId].func = Task_NewGameBirchSpeech_WaitToShowBirch; gTasks[taskId].tPlayerSpriteId = 0xFF; @@ -1846,7 +1846,7 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) gSprites[spriteId].invisible = FALSE; gTasks[taskId].tPlayerSpriteId = spriteId; SetGpuReg(REG_OFFSET_BG1HOFS, -60); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0); diff --git a/src/match_call.c b/src/match_call.c index 641079ba9..6221affe1 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -3,11 +3,12 @@ #include "battle.h" #include "battle_setup.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "event_object_movement.h" #include "field_player_avatar.h" #include "main.h" +#include "match_call.h" #include "menu.h" #include "new_game.h" #include "overworld.h" @@ -74,7 +75,6 @@ struct BattleFrontierStreakInfo EWRAM_DATA struct MatchCallState gMatchCallState = {0}; EWRAM_DATA struct BattleFrontierStreakInfo gBattleFrontierStreakInfo = {0}; -bool32 SelectMatchCallMessage(int, u8 *); static u32 GetCurrentTotalMinutes(struct Time *); static u32 GetNumRegisteredNPCs(void); static u32 GetActiveMatchCallTrainerId(u32); @@ -1098,13 +1098,13 @@ bool32 TryStartMatchCall(void) return FALSE; } -void StartMatchCallFromScript(void) +void StartMatchCallFromScript(u8 *message) { gMatchCallState.triggeredFromScript = 1; StartMatchCall(); } -bool8 IsMatchCallTaskActive(void) +bool32 IsMatchCallTaskActive(void) { return FuncIsActiveTask(ExecuteMatchCall); } @@ -2002,7 +2002,7 @@ void sub_8197080(u8 *destStr) Free(buffer); } -void sub_8197184(u8 windowId, u32 destOffset, u32 paletteId) +void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId) { u8 bg = GetWindowAttribute(windowId, WINDOW_BG); LoadBgTiles(bg, sUnknown_0860EA6C, 0x100, destOffset); diff --git a/src/menu.c b/src/menu.c index b766b1b86..354346d27 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1919,7 +1919,7 @@ void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP) } } -void sub_8199D98(void) +void ResetBgPositions(void) { ChangeBgX(0, 0, 0); ChangeBgX(1, 0, 0); diff --git a/src/menu_helpers.c b/src/menu_helpers.c index b5745d812..801e2546b 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -344,17 +344,17 @@ void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, *arg2 = (*usedSlotsCount); } -void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3) +void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems) { - if ((*arg0) != 0 && (*arg0) + arg2 > arg3) - (*arg0) = arg3 - arg2; + if (*scrollOffset != 0 && *scrollOffset + maxShownItems > numItems) + *scrollOffset = numItems - maxShownItems; - if ((*arg0) + (*arg1) >= arg3) + if (*scrollOffset + *cursorPos >= numItems) { - if (arg3 == 0) - (*arg1) = 0; + if (numItems == 0) + *cursorPos = 0; else - (*arg1) = arg3 - 1; + *cursorPos = numItems - 1; } } diff --git a/src/menu_specialized.c b/src/menu_specialized.c index cbdef3d39..34dd1fe2b 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -2,7 +2,7 @@ #include "alloc.h" #include "battle_main.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" @@ -28,7 +28,6 @@ #include "gba/io_reg.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const u8 *gUnknown_08625B54[]; EWRAM_DATA static u8 sUnknown_0203CF48[3] = {0}; EWRAM_DATA static struct ListMenuItem *sUnknown_0203CF4C = NULL; @@ -39,7 +38,7 @@ static void sub_81D2634(struct UnknownStruct_81D1ED4 *a0); static void MoveRelearnerCursorCallback(s32 itemIndex, bool8 onInit, struct ListMenu *list); static void nullsub_79(void); static void sub_81D3408(struct Sprite *sprite); -/*static*/ void sub_81D3564(struct Sprite *sprite); +static void sub_81D3564(struct Sprite *sprite); static void sub_81D35E8(struct Sprite *sprite); static const struct WindowTemplate sUnknown_086253E8[] = @@ -1474,9 +1473,77 @@ static void sub_81D32F4(struct Sprite *sprite) } } -// Todo: Move these variables to C. -extern const s16 gUnknown_08625B2C[][2]; -extern const struct SpriteTemplate gUnknown_08625B14; +static const struct OamData sOamData_8625AD0 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .priority = 0, +}; + +static const union AnimCmd sSpriteAnim_8625AD8[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(20, 5), + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8625AF8[] = +{ + sSpriteAnim_8625AD8, + sSpriteAnim_8625AD8 + 2, +}; + +// unused +static const union AnimCmd *const sSpriteAnimTable_8625B00[] = +{ + sSpriteAnim_8625AD8 + 4, + sSpriteAnim_8625AD8 + 6, +}; + +// unused +static const union AnimCmd *const sSpriteAnimTable_8625B08[] = +{ + sSpriteAnim_8625AD8 + 8, + sSpriteAnim_8625AD8 + 10, +}; + +// unused +static const union AnimCmd *const *const sUnknown_08625B10 = sSpriteAnimTable_8625B08; + +const struct SpriteTemplate gUnknown_08625B14 = +{ + .tileTag = 104, + .paletteTag = 104, + .oam = &sOamData_8625AD0, + .anims = sSpriteAnimTable_8625AF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81D3564, +}; + +static const s16 gUnknown_08625B2C[][2] = +{ + {0, -35}, + {20, -28}, + {33, -10}, + {33, 10}, + {20, 28}, + {0, 35}, + {-20, 28}, + {-33, 10}, + {-33, -10}, + {-20, -28}, +}; void sub_81D3314(struct Sprite *sprite) { @@ -1595,7 +1662,7 @@ void sub_81D354C(struct Sprite **sprites) FreeSpritePaletteByTag(104); } -/*static*/ void sub_81D3564(struct Sprite *sprite) +static void sub_81D3564(struct Sprite *sprite) { if (sprite->data[1] != 0) { @@ -1641,440 +1708,127 @@ static void sub_81D35E8(struct Sprite *sprite) } } - -#ifdef NONMATCHING -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) +static const u8 *const sLvlUpStatStrings[] = { - u16 i; - s16 array[6]; - u8 *text; - u8 text2; - s16 *statVal; - s32 var; - u8 padding; - s32 var3; - u8 color[11]; - - FillWindowPixelBuffer(arg0, PIXEL_FILL(arg3)); - - array[0] = statStoreLocation2[STAT_HP] - statStoreLocation1[STAT_HP]; - array[1] = statStoreLocation2[STAT_ATK] - statStoreLocation1[STAT_ATK]; - array[2] = statStoreLocation2[STAT_DEF] - statStoreLocation1[STAT_DEF]; - array[3] = statStoreLocation2[STAT_SPATK] - statStoreLocation1[STAT_SPATK]; - array[4] = statStoreLocation2[STAT_SPDEF] - statStoreLocation1[STAT_SPDEF]; - array[5] = statStoreLocation2[STAT_SPEED] - statStoreLocation1[STAT_SPEED]; - - color[0] = arg3; - color[1] = arg4; - color[2] = arg5; - - for(i = 0; i <= 5; i++) - { - AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); - statVal = &array[i]; - text = array[i] >= 0 ? (u8 *) gText_UnkCtrlF904 : (u8 *) gText_Dash;//Plus sign for stat gain, dash for none maybe - StringCopy(&text2, text); - AddTextPrinterParameterized3(arg0, - 1, - 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); - var3 = *statVal; - var = var3; - - if(var3 < 0) - { - var = -var3; - } - - padding = 12; //amount of padding - - if(var <= 9) - { - padding = 18; //more padding for single digit numbers - } - - if(var3 < 0) - { - var3 = -var3; - } - - ConvertIntToDecimalStringN(&text2, var3, STR_CONV_MODE_LEFT_ALIGN, 2); - AddTextPrinterParameterized3(arg0, - 1, - padding + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text2); + gUnknown_085EEA46, + gUnknown_085EEA4E, + gUnknown_085EEA55, + gUnknown_085EEA63, + gUnknown_085EEA6B, + gUnknown_085EEA5D +}; + +void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr) +{ + u16 i, x; + s16 statsDiff[NUM_STATS]; + u8 text[12]; + u8 color[3]; + + FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr)); + + statsDiff[0] = statsAfter[STAT_HP] - statsBefore[STAT_HP]; + statsDiff[1] = statsAfter[STAT_ATK] - statsBefore[STAT_ATK]; + statsDiff[2] = statsAfter[STAT_DEF] - statsBefore[STAT_DEF]; + statsDiff[3] = statsAfter[STAT_SPATK] - statsBefore[STAT_SPATK]; + statsDiff[4] = statsAfter[STAT_SPDEF] - statsBefore[STAT_SPDEF]; + statsDiff[5] = statsAfter[STAT_SPEED] - statsBefore[STAT_SPEED]; + + color[0] = bgClr; + color[1] = fgClr; + color[2] = shadowClr; + + for (i = 0; i < NUM_STATS; i++) + { + + AddTextPrinterParameterized3(windowId, + 1, + 0, + 15 * i, + color, + -1, + sLvlUpStatStrings[i]); + + StringCopy(text, (statsDiff[i] >= 0) ? gText_UnkCtrlF904 : gText_Dash); + AddTextPrinterParameterized3(windowId, + 1, + 56, + 15 * i, + color, + -1, + text); + if (abs(statsDiff[i]) <= 9) + x = 18; + else + x = 12; + + ConvertIntToDecimalStringN(text, abs(statsDiff[i]), STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized3(windowId, + 1, + 56 + x, + 15 * i, + color, + -1, + text); } } -#else -NAKED -void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5) -{ - asm(".syntax unified\n\ -push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x2C\n\ - mov r8, r0\n\ - adds r6, r1, 0\n\ - adds r5, r2, 0\n\ - adds r4, r3, 0\n\ - ldr r3, [sp, 0x4C]\n\ - ldr r0, [sp, 0x50]\n\ - mov r9, r0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - mov r1, r9\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r9, r1\n\ - mov r0, r8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - lsls r1, r4, 4\n\ - orrs r1, r4\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r3, [sp, 0x28]\n\ - bl FillWindowPixelBuffer\n\ - add r2, sp, 0xC\n\ - ldrh r0, [r5]\n\ - ldrh r1, [r6]\n\ - subs r0, r1\n\ - strh r0, [r2]\n\ - ldrh r0, [r5, 0x2]\n\ - ldrh r1, [r6, 0x2]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x2]\n\ - ldrh r0, [r5, 0x4]\n\ - ldrh r1, [r6, 0x4]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x4]\n\ - ldrh r0, [r5, 0x8]\n\ - ldrh r1, [r6, 0x8]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x6]\n\ - ldrh r0, [r5, 0xA]\n\ - ldrh r1, [r6, 0xA]\n\ - subs r0, r1\n\ - strh r0, [r2, 0x8]\n\ - ldrh r0, [r5, 0x6]\n\ - ldrh r1, [r6, 0x6]\n\ - subs r0, r1\n\ - strh r0, [r2, 0xA]\n\ - add r0, sp, 0x24\n\ - strb r4, [r0]\n\ - ldr r3, [sp, 0x28]\n\ - strb r3, [r0, 0x1]\n\ - mov r1, r9\n\ - strb r1, [r0, 0x2]\n\ - movs r7, 0\n\ - mov r10, r0\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - mov r9, r0\n\ - add r6, sp, 0x18\n\ -_081D36CA:\n\ - lsls r0, r7, 4\n\ - subs r0, r7\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - mov r1, r10\n\ - str r1, [sp]\n\ - mov r0, r9\n\ - str r0, [sp, 0x4]\n\ - ldr r1, =gUnknown_08625B54\n\ - lsls r0, r7, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - str r0, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - lsls r0, r7, 1\n\ - mov r4, sp\n\ - adds r4, r0\n\ - adds r4, 0xC\n\ - movs r1, 0\n\ - ldrsh r0, [r4, r1]\n\ - ldr r1, =gText_Dash\n\ - cmp r0, 0\n\ - blt _081D3704\n\ - ldr r1, =gText_UnkCtrlF904\n\ -_081D3704:\n\ - adds r0, r6, 0\n\ - bl StringCopy\n\ - mov r0, r10\n\ - str r0, [sp]\n\ - mov r1, r9\n\ - str r1, [sp, 0x4]\n\ - str r6, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - movs r2, 0x38\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - movs r0, 0\n\ - ldrsh r1, [r4, r0]\n\ - adds r0, r1, 0\n\ - cmp r1, 0\n\ - bge _081D372C\n\ - negs r0, r1\n\ -_081D372C:\n\ - movs r4, 0xC\n\ - cmp r0, 0x9\n\ - bgt _081D3734\n\ - movs r4, 0x12\n\ -_081D3734:\n\ - cmp r1, 0\n\ - bge _081D373A\n\ - negs r1, r1\n\ -_081D373A:\n\ - adds r0, r6, 0\n\ - movs r2, 0\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - adds r2, r4, 0\n\ - adds r2, 0x38\n\ - mov r1, r10\n\ - str r1, [sp]\n\ - mov r0, r9\n\ - str r0, [sp, 0x4]\n\ - str r6, [sp, 0x8]\n\ - mov r0, r8\n\ - movs r1, 0x1\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r0, r7, 0x1\n\ - lsls r0, 16\n\ - lsrs r7, r0, 16\n\ - cmp r7, 0x5\n\ - bls _081D36CA\n\ - add sp, 0x2C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif // NONMATCHING - -#ifdef NONMATCHING -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) -{ - s32 i; - s16 *var; - s32 numDigits; - u8 text; - s16 array[6]; - u8 color[11]; - - FillWindowPixelBuffer(arg0, PIXEL_FILL(arg2)); - - array[0] = statStoreLocation1[STAT_HP]; - array[1] = statStoreLocation1[STAT_ATK]; - array[2] = statStoreLocation1[STAT_DEF]; - array[3] = statStoreLocation1[STAT_SPATK]; - array[4] = statStoreLocation1[STAT_SPDEF]; - array[5] = statStoreLocation1[STAT_SPEED]; - - color[0] = arg2; - color[1] = arg3; - color[2] = arg4; - - for(i = 0; i <= 5; i++) - { - numDigits = 3; //3 digit stat - if(array[i] <= 99) - { - numDigits = 1; //1 digit stat - if(array[i] > 9) - { - numDigits = 2; //2 digit stat - } - } - ConvertIntToDecimalStringN(&text, array[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); - AddTextPrinterParameterized3(arg0, - 1, - 0, - 15 * i, - color, - TEXT_SPEED_FF, - gUnknown_08625B54[i]); - AddTextPrinterParameterized3(arg0, - 1, - 6 * (4 - numDigits) + 56, - 15 * i, - color, - TEXT_SPEED_FF, - &text); + +void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr) +{ + u16 i, numDigits, x; + s16 stats[NUM_STATS]; + u8 text[12]; + u8 color[3]; + + FillWindowPixelBuffer(windowId, PIXEL_FILL(bgClr)); + + stats[0] = currStats[STAT_HP]; + stats[1] = currStats[STAT_ATK]; + stats[2] = currStats[STAT_DEF]; + stats[3] = currStats[STAT_SPATK]; + stats[4] = currStats[STAT_SPDEF]; + stats[5] = currStats[STAT_SPEED]; + + color[0] = bgClr; + color[1] = fgClr; + color[2] = shadowClr; + + for (i = 0; i < NUM_STATS; i++) + { + if (stats[i] > 99) + numDigits = 3; + else if (stats[i] > 9) + numDigits = 2; + else + numDigits = 1; + + ConvertIntToDecimalStringN(text, stats[i], STR_CONV_MODE_LEFT_ALIGN, numDigits); + x = 6 * (4 - numDigits); + + AddTextPrinterParameterized3(windowId, + 1, + 0, + 15 * i, + color, + -1, + sLvlUpStatStrings[i]); + + AddTextPrinterParameterized3(windowId, + 1, + 56 + x, + 15 * i, + color, + -1, + text); } } -#else -NAKED -void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x2C\n\ - mov r8, r0\n\ - adds r5, r1, 0\n\ - adds r4, r2, 0\n\ - adds r6, r3, 0\n\ - ldr r2, [sp, 0x4C]\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - lsls r1, r4, 4\n\ - orrs r1, r4\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r2, [sp, 0x28]\n\ - bl FillWindowPixelBuffer\n\ - add r1, sp, 0xC\n\ - ldrh r0, [r5]\n\ - strh r0, [r1]\n\ - ldrh r0, [r5, 0x2]\n\ - strh r0, [r1, 0x2]\n\ - ldrh r0, [r5, 0x4]\n\ - strh r0, [r1, 0x4]\n\ - ldrh r0, [r5, 0x8]\n\ - strh r0, [r1, 0x6]\n\ - ldrh r0, [r5, 0xA]\n\ - strh r0, [r1, 0x8]\n\ - ldrh r0, [r5, 0x6]\n\ - strh r0, [r1, 0xA]\n\ - add r0, sp, 0x24\n\ - strb r4, [r0]\n\ - strb r6, [r0, 0x1]\n\ - ldr r2, [sp, 0x28]\n\ - strb r2, [r0, 0x2]\n\ - movs r6, 0\n\ - add r1, sp, 0x18\n\ - mov r9, r1\n\ - mov r7, r8\n\ - mov r10, r0\n\ - movs r2, 0x1\n\ - negs r2, r2\n\ - mov r8, r2\n\ -_081D37EE:\n\ - lsls r1, r6, 1\n\ - mov r0, sp\n\ - adds r0, r1\n\ - adds r0, 0xC\n\ - movs r2, 0\n\ - ldrsh r0, [r0, r2]\n\ - movs r4, 0x3\n\ - cmp r0, 0x63\n\ - bgt _081D3808\n\ - movs r4, 0x1\n\ - cmp r0, 0x9\n\ - ble _081D3808\n\ - movs r4, 0x2\n\ -_081D3808:\n\ - mov r0, sp\n\ - adds r0, r1\n\ - adds r0, 0xC\n\ - movs r2, 0\n\ - ldrsh r1, [r0, r2]\n\ - mov r0, r9\n\ - movs r2, 0\n\ - adds r3, r4, 0\n\ - bl ConvertIntToDecimalStringN\n\ - movs r0, 0x4\n\ - subs r0, r4\n\ - lsls r4, r0, 1\n\ - adds r4, r0\n\ - lsls r4, 17\n\ - lsrs r4, 16\n\ - lsls r5, r6, 4\n\ - subs r5, r6\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - mov r0, r10\n\ - str r0, [sp]\n\ - mov r1, r8\n\ - str r1, [sp, 0x4]\n\ - ldr r1, =gUnknown_08625B54\n\ - lsls r0, r6, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - str r0, [sp, 0x8]\n\ - adds r0, r7, 0\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r4, 0x38\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - mov r2, r10\n\ - str r2, [sp]\n\ - mov r0, r8\n\ - str r0, [sp, 0x4]\n\ - mov r1, r9\n\ - str r1, [sp, 0x8]\n\ - adds r0, r7, 0\n\ - movs r1, 0x1\n\ - adds r2, r4, 0\n\ - adds r3, r5, 0\n\ - bl AddTextPrinterParameterized3\n\ - adds r0, r6, 0x1\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - cmp r6, 0x5\n\ - bls _081D37EE\n\ - add sp, 0x2C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif // NONMATCHING -void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation) +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats) { - statStoreLocation[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); - statStoreLocation[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); - statStoreLocation[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); - statStoreLocation[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); - statStoreLocation[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); - statStoreLocation[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); + currStats[STAT_HP] = GetMonData(mon, MON_DATA_MAX_HP); + currStats[STAT_ATK] = GetMonData(mon, MON_DATA_ATK); + currStats[STAT_DEF] = GetMonData(mon, MON_DATA_DEF); + currStats[STAT_SPEED] = GetMonData(mon, MON_DATA_SPEED); + currStats[STAT_SPATK] = GetMonData(mon, MON_DATA_SPATK); + currStats[STAT_SPDEF] = GetMonData(mon, MON_DATA_SPDEF); } diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 8a2c3ad91..16298183b 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -191,7 +191,7 @@ static const u8 sTileBitAttributes[] = [MB_SECRET_BASE_UNUSED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_BLOCK_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_DECORATION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - [MB_SECRET_BASE_LARGE_MAT_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), + [MB_HOLDS_SMALL_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_UNUSED_B6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_SECRET_BASE_NORTH_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), [MB_SECRET_BASE_BALLOON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), @@ -205,7 +205,7 @@ static const u8 sTileBitAttributes[] = [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_IMPASSABLE_WEST_AND_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - [MB_LARGE_MAT_CENTER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), + [MB_HOLDS_LARGE_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), [MB_C6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), @@ -751,17 +751,17 @@ bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2_2(u8 metatileBehavior) return FALSE; } -bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8 metatileBehavior) +bool8 MetatileBehavior_HoldsSmallDecoration(u8 metatileBehavior) { - if (metatileBehavior == MB_SECRET_BASE_LARGE_MAT_EDGE) + if (metatileBehavior == MB_HOLDS_SMALL_DECORATION) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsLargeMatCenter(u8 metatileBehavior) +bool8 MetatileBehavior_HoldsLargeDecoration(u8 metatileBehavior) { - if (metatileBehavior == MB_LARGE_MAT_CENTER) + if (metatileBehavior == MB_HOLDS_LARGE_DECORATION) return TRUE; else return FALSE; diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c index 62240af98..8f5b2d636 100644 --- a/src/mevent_801BAAC.c +++ b/src/mevent_801BAAC.c @@ -14,6 +14,7 @@ #include "link_rfu.h" #include "mevent.h" #include "mystery_gift.h" +#include "constants/rgb.h" struct UnkStruct_8467FB8 { @@ -186,7 +187,7 @@ s32 FadeToWonderCardMenu(void) switch(sWonderCardData->unk_0174) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -231,7 +232,7 @@ s32 FadeToWonderCardMenu(void) ShowBg(2); gPaletteFade.bufferTransferDisabled = FALSE; sub_801C4C0(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); UpdatePaletteFade(); break; default: @@ -251,7 +252,7 @@ s32 FadeOutFromWonderCard(bool32 flag) switch (sWonderCardData->unk_0174) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -279,7 +280,7 @@ s32 FadeOutFromWonderCard(bool32 flag) case 5: PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag); CopyBgTilemapBufferToVram(0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); break; default: if (UpdatePaletteFade()) @@ -575,7 +576,7 @@ s32 FadeToWonderNewsMenu(void) switch (sWonderNewsData->unk_01C0_1) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -629,7 +630,7 @@ s32 FadeToWonderNewsMenu(void) ShowBg(3); gPaletteFade.bufferTransferDisabled = FALSE; sWonderNewsData->unk_01C1 = AddScrollIndicatorArrowPair(&sWonderNewsData->unk_0394, &sWonderNewsData->unk_01C6); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); UpdatePaletteFade(); break; default: @@ -650,7 +651,7 @@ s32 FadeOutFromWonderNews(bool32 flag) switch (sWonderNewsData->unk_01C0_1) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); break; case 1: if (UpdatePaletteFade()) @@ -692,7 +693,7 @@ s32 FadeOutFromWonderNews(bool32 flag) MG_DrawCheckerboardPattern(3); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(3); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); break; default: if (UpdatePaletteFade()) diff --git a/src/move_relearner.c b/src/move_relearner.c index e148b9ace..0b0b4a5aa 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -3,7 +3,7 @@ #include "battle.h" #include "bg.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "event_data.h" #include "field_screen_effect.h" #include "gpu_regs.h" diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 850b22d5b..c77a48615 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -18,6 +18,7 @@ #include "gpu_regs.h" #include "text_window.h" #include "decompress.h" +#include "constants/rgb.h" // this file's functions static void CB2_MysteryEventMenu(void); @@ -137,7 +138,7 @@ static void CB2_MysteryEventMenu(void) PutWindowTilemap(0); CopyWindowToVram(0, 3); ShowBg(0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gMain.state++; break; case 1: @@ -280,7 +281,7 @@ static void CB2_MysteryEventMenu(void) } break; case 15: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gMain.state++; break; case 16: diff --git a/src/naming_screen.c b/src/naming_screen.c index e43a259e7..7da7d99b0 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -21,12 +21,13 @@ #include "trig.h" #include "field_effect.h" #include "pokemon_icon.h" -#include "data2.h" +#include "data.h" #include "strings.h" #include "menu.h" #include "text_window.h" #include "overworld.h" #include "constants/event_objects.h" +#include "constants/rgb.h" EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL; extern u16 gKeyRepeatStartDelay; @@ -463,7 +464,7 @@ static bool8 MainState_BeginFadeIn(void) CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(3); BlendPalettes(-1, 16, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); gNamingScreenData->state++; return FALSE; } @@ -517,7 +518,7 @@ static bool8 MainState_6(void) static bool8 MainState_BeginFadeInOut(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gNamingScreenData->state++; return FALSE; } diff --git a/src/new_game.c b/src/new_game.c index 19f3461b4..7a0c668a4 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -56,7 +56,7 @@ static void ResetMiniGamesResults(void); // EWRAM vars EWRAM_DATA bool8 gDifferentSaveFile = FALSE; -EWRAM_DATA bool8 gUnknown_020322D5 = FALSE; +EWRAM_DATA bool8 gEnableContestDebugging = FALSE; // const rom data static const struct ContestWinner sContestWinnerPicDummy = @@ -170,7 +170,7 @@ void NewGameInitData(void) InitEventData(); ClearTVShowData(); ResetGabbyAndTy(); - ResetSecretBases(); + ClearSecretBases(); ClearBerryTrees(); SetMoney(&gSaveBlock1Ptr->money, 3000); SetCoins(0); diff --git a/src/option_menu.c b/src/option_menu.c index 2fc0d6f3e..3ffb2738f 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -14,6 +14,7 @@ #include "international_string_util.h" #include "strings.h" #include "gba/m4a_internal.h" +#include "constants/rgb.h" // Task data enum @@ -250,7 +251,7 @@ void CB2_InitOptionMenu(void) break; } case 11: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); return; @@ -359,7 +360,7 @@ static void Task_OptionMenuSave(u8 taskId) gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE]; gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE]; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_OptionMenuFadeOut; } diff --git a/src/overworld.c b/src/overworld.c index 9ed147c0a..4356752c1 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -889,7 +889,7 @@ static void mli0_load_map(u32 a1) if (a1 != 1 && isIndoors) { UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); - sub_80E9238(1); + InitSecretBaseAppearance(TRUE); } } @@ -1508,7 +1508,7 @@ void SetUnusedCallback(void *func) static bool8 map_post_load_hook_exec(void) { - if (gFieldCallback2 != NULL) + if (gFieldCallback2) { if (!gFieldCallback2()) { @@ -1522,7 +1522,7 @@ static bool8 map_post_load_hook_exec(void) } else { - if (gFieldCallback != NULL) + if (gFieldCallback) gFieldCallback(); else mapldr_default(); @@ -1701,7 +1701,7 @@ void sub_80861E8(void) static void sub_8086204(void) { - if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == TRUE) + if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); sub_80AF3C8(); } @@ -1874,7 +1874,7 @@ static bool32 map_loading_iteration_3(u8 *state) case 11: if (gWirelessCommType != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } (*state)++; @@ -1947,7 +1947,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 11: - if ((gMapHeader.flags & 0xF8) == 8 && sub_80E909C() == 1) + if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); (*state)++; break; @@ -2046,7 +2046,7 @@ static bool32 map_loading_iteration_2_link(u8 *state) case 11: if (gWirelessCommType != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } (*state)++; diff --git a/src/party_menu.c b/src/party_menu.c index 6233558ff..d13dc1e97 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -10,7 +10,7 @@ #include "battle_pyramid_bag.h" #include "bg.h" #include "contest.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "easy_chat.h" #include "event_data.h" @@ -45,11 +45,11 @@ #include "player_pc.h" #include "pokemon.h" #include "pokemon_icon.h" +#include "pokemon_jump.h" #include "pokemon_storage_system.h" #include "pokemon_summary_screen.h" #include "region_map.h" #include "reshow_battle_screen.h" -#include "union_room.h" #include "scanline_effect.h" #include "script.h" #include "sound.h" @@ -61,12 +61,14 @@ #include "text.h" #include "text_window.h" #include "trade.h" +#include "union_room.h" #include "window.h" #include "constants/battle.h" #include "constants/battle_frontier.h" #include "constants/easy_chat.h" #include "constants/field_effects.h" #include "constants/flags.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/maps.h" #include "constants/moves.h" @@ -297,8 +299,8 @@ static u8 sub_81B8984(void); static void sub_81B6280(u8); static void c2_815ABFC(void); static void sub_81B672C(u8); -static u16 sub_81B691C(struct Pokemon*, u8); -static void option_menu_get_string(u8, u8*); +static u16 ItemEffectToMonEv(struct Pokemon*, u8); +static void ItemEffectToStatString(u8, u8*); static void sub_81B6BB4(u8); static void ether_effect_related_2(u8); static void ether_effect_related(u8); @@ -5229,7 +5231,7 @@ void sub_81B617C(void) doubleBattleStatus = 0; } - if (GetItemEffectType(gSpecialVar_ItemId) == 10) + if (GetItemEffectType(gSpecialVar_ItemId) == ITEM_EFFECT_SACRED_ASH) { gUnknown_0203CEC8.unk9 = 0; for (i = 0; i < PARTY_SIZE; i++) @@ -5283,7 +5285,7 @@ static bool8 IsHPRecoveryItem(u16 item) else effect = gItemEffectTable[item - ITEM_POTION]; - if ((effect[4] & 4) != 0) + if (effect[4] & ITEM4_HEAL_HP) return TRUE; else return FALSE; @@ -5293,59 +5295,59 @@ static void GetMedicineItemEffectMessage(u16 item) { switch (GetItemEffectType(item)) { - case 3: + case ITEM_EFFECT_CURE_POISON: StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfPoison); break; - case 4: + case ITEM_EFFECT_CURE_SLEEP: StringExpandPlaceholders(gStringVar4, gText_PkmnWokeUp2); break; - case 5: + case ITEM_EFFECT_CURE_BURN: StringExpandPlaceholders(gStringVar4, gText_PkmnBurnHealed); break; - case 6: + case ITEM_EFFECT_CURE_FREEZE: StringExpandPlaceholders(gStringVar4, gText_PkmnThawedOut); break; - case 7: + case ITEM_EFFECT_CURE_PARALYSIS: StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfParalysis); break; - case 8: + case ITEM_EFFECT_CURE_CONFUSION: StringExpandPlaceholders(gStringVar4, gText_PkmnSnappedOutOfConfusion); break; - case 9: + case ITEM_EFFECT_CURE_INFATUATION: StringExpandPlaceholders(gStringVar4, gText_PkmnGotOverInfatuation); break; - case 11: + case ITEM_EFFECT_CURE_ALL_STATUS: StringExpandPlaceholders(gStringVar4, gText_PkmnBecameHealthy); break; - case 13: + case ITEM_EFFECT_HP_EV: StringCopy(gStringVar2, gText_HP3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 12: + case ITEM_EFFECT_ATK_EV: StringCopy(gStringVar2, gText_Attack3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 17: + case ITEM_EFFECT_DEF_EV: StringCopy(gStringVar2, gText_Defense3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 16: + case ITEM_EFFECT_SPEED_EV: StringCopy(gStringVar2, gText_Speed2); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 14: + case ITEM_EFFECT_SPATK_EV: StringCopy(gStringVar2, gText_SpAtk3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 15: + case ITEM_EFFECT_SPDEF_EV: StringCopy(gStringVar2, gText_SpDef3); StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased); break; - case 19: - case 20: + case ITEM_EFFECT_PP_UP: + case ITEM_EFFECT_PP_MAX: StringExpandPlaceholders(gStringVar4, gText_MovesPPIncreased); break; - case 21: + case ITEM_EFFECT_HEAL_PP: StringExpandPlaceholders(gStringVar4, gText_PPWasRestored); break; default: @@ -5356,12 +5358,12 @@ static void GetMedicineItemEffectMessage(u16 item) static bool8 UsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item) { - if (GetItemEffectType(item) == 13 && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA) + if (GetItemEffectType(item) == ITEM_EFFECT_HP_EV && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA) return FALSE; return TRUE; } -static bool8 IsBlueYellowRedFlute(u16 item) +static bool8 IsItemFlute(u16 item) { if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE) return TRUE; @@ -5408,7 +5410,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) goto iTriedHonestlyIDid; } gUnknown_0203CEE8 = 1; - if (IsBlueYellowRedFlute(item) == FALSE) + if (IsItemFlute(item) == FALSE) { PlaySE(SE_KAIFUKU); if (gUnknown_0203CEC8.unkB != 14) @@ -5465,10 +5467,10 @@ void sub_81B67C8(u8 taskId, TaskFunc task) u16 item = gSpecialVar_ItemId; u8 effectType = GetItemEffectType(item); u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); - u16 relevantEV = sub_81B691C(mon, effectType); + u16 relevantEV = ItemEffectToMonEv(mon, effectType); bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0); u16 newFriendship = GetMonData(mon, MON_DATA_FRIENDSHIP); - u16 newRelevantEV = sub_81B691C(mon, effectType); + u16 newRelevantEV = ItemEffectToMonEv(mon, effectType); if (cannotUseEffect || (friendship == newFriendship && relevantEV == newRelevantEV)) { @@ -5484,7 +5486,7 @@ void sub_81B67C8(u8 taskId, TaskFunc task) PlaySE(SE_KAIFUKU); RemoveBagItem(item, 1); GetMonNickname(mon, gStringVar1); - option_menu_get_string(effectType, gStringVar2); + ItemEffectToStatString(effectType, gStringVar2); if (friendship != newFriendship) { if (relevantEV != newRelevantEV) @@ -5502,48 +5504,48 @@ void sub_81B67C8(u8 taskId, TaskFunc task) } } -static u16 sub_81B691C(struct Pokemon *mon, u8 effectType) +static u16 ItemEffectToMonEv(struct Pokemon *mon, u8 effectType) { switch (effectType) { - case 13: + case ITEM_EFFECT_HP_EV: if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_SHEDINJA) return GetMonData(mon, MON_DATA_HP_EV); break; - case 12: + case ITEM_EFFECT_ATK_EV: return GetMonData(mon, MON_DATA_ATK_EV); - case 17: + case ITEM_EFFECT_DEF_EV: return GetMonData(mon, MON_DATA_DEF_EV); - case 16: + case ITEM_EFFECT_SPEED_EV: return GetMonData(mon, MON_DATA_SPEED_EV); - case 14: + case ITEM_EFFECT_SPATK_EV: return GetMonData(mon, MON_DATA_SPATK_EV); - case 15: + case ITEM_EFFECT_SPDEF_EV: return GetMonData(mon, MON_DATA_SPDEF_EV); } return 0; } -static void option_menu_get_string(u8 effectType, u8 *dest) +static void ItemEffectToStatString(u8 effectType, u8 *dest) { switch (effectType) { - case 13: + case ITEM_EFFECT_HP_EV: StringCopy(dest, gText_HP3); break; - case 12: + case ITEM_EFFECT_ATK_EV: StringCopy(dest, gText_Attack3); break; - case 17: + case ITEM_EFFECT_DEF_EV: StringCopy(dest, gText_Defense3); break; - case 16: + case ITEM_EFFECT_SPEED_EV: StringCopy(dest, gText_Speed2); break; - case 14: + case ITEM_EFFECT_SPATK_EV: StringCopy(dest, gText_SpAtk3); break; - case 15: + case ITEM_EFFECT_SPDEF_EV: StringCopy(dest, gText_SpDef3); break; } @@ -5597,7 +5599,7 @@ void dp05_ether(u8 taskId, TaskFunc task) else effect = gItemEffectTable[item - ITEM_POTION]; - if ((effect[4] & 0x10) == 0) + if (!(effect[4] & ITEM4_HEAL_PP_ONE)) { gUnknown_0203CEC8.unkE = 0; ether_effect_related(taskId); @@ -6220,8 +6222,8 @@ u8 GetItemEffectType(u16 item) const u8 *itemEffect; u32 statusCure; - if (!IS_POKEMON_ITEM(item)) - return 22; + if (!ITEM_HAS_EFFECT(item)) + return ITEM_EFFECT_NONE; // Read the item's effect properties. if (item == ITEM_ENIGMA_BERRY) @@ -6229,58 +6231,58 @@ u8 GetItemEffectType(u16 item) else itemEffect = gItemEffectTable[item - ITEM_POTION]; - if ((itemEffect[0] & 0x3F) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & 0x80)) - return 0; - else if (itemEffect[0] & 0x40) - return 10; - else if (itemEffect[3] & 0x40) - return 1; + if ((itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_MIST)) + return ITEM_EFFECT_X_ITEM; + else if (itemEffect[0] & ITEM0_SACRED_ASH) + return ITEM_EFFECT_SACRED_ASH; + else if (itemEffect[3] & ITEM3_LEVEL_UP) + return ITEM_EFFECT_RAISE_LEVEL; - statusCure = itemEffect[3] & 0x3F; + statusCure = itemEffect[3] & ITEM3_STATUS_ALL; if (statusCure || (itemEffect[0] >> 7)) { - if (statusCure == 0x20) - return 4; - else if (statusCure == 0x10) - return 3; - else if (statusCure == 0x8) - return 5; - else if (statusCure == 0x4) - return 6; - else if (statusCure == 0x2) - return 7; - else if (statusCure == 0x1) - return 8; + if (statusCure == ITEM3_SLEEP) + return ITEM_EFFECT_CURE_SLEEP; + else if (statusCure == ITEM3_POISON) + return ITEM_EFFECT_CURE_POISON; + else if (statusCure == ITEM3_BURN) + return ITEM_EFFECT_CURE_BURN; + else if (statusCure == ITEM3_FREEZE) + return ITEM_EFFECT_CURE_FREEZE; + else if (statusCure == ITEM3_PARALYSIS) + return ITEM_EFFECT_CURE_PARALYSIS; + else if (statusCure == ITEM3_CONFUSION) + return ITEM_EFFECT_CURE_CONFUSION; else if (itemEffect[0] >> 7 && !statusCure) - return 9; + return ITEM_EFFECT_CURE_INFATUATION; else - return 11; - } - - if (itemEffect[4] & 0x44) - return 2; - else if (itemEffect[4] & 0x2) - return 12; - else if (itemEffect[4] & 0x1) - return 13; - else if (itemEffect[5] & 0x8) - return 14; - else if (itemEffect[5] & 0x4) - return 15; - else if (itemEffect[5] & 0x2) - return 16; - else if (itemEffect[5] & 0x1) - return 17; - else if (itemEffect[4] & 0x80) - return 18; - else if (itemEffect[4] & 0x20) - return 19; - else if (itemEffect[5] & 0x10) - return 20; - else if (itemEffect[4] & 0x18) - return 21; + return ITEM_EFFECT_CURE_ALL_STATUS; + } + + if (itemEffect[4] & (ITEM4_REVIVE | ITEM4_HEAL_HP)) + return ITEM_EFFECT_HEAL_HP; + else if (itemEffect[4] & ITEM4_EV_ATK) + return ITEM_EFFECT_ATK_EV; + else if (itemEffect[4] & ITEM4_EV_HP) + return ITEM_EFFECT_HP_EV; + else if (itemEffect[5] & ITEM5_EV_SPATK) + return ITEM_EFFECT_SPATK_EV; + else if (itemEffect[5] & ITEM5_EV_SPDEF) + return ITEM_EFFECT_SPDEF_EV; + else if (itemEffect[5] & ITEM5_EV_SPEED) + return ITEM_EFFECT_SPEED_EV; + else if (itemEffect[5] & ITEM5_EV_DEF) + return ITEM_EFFECT_DEF_EV; + else if (itemEffect[4] & ITEM4_EVO_STONE) + return ITEM_EFFECT_EVO_STONE; + else if (itemEffect[4] & ITEM4_PP_UP) + return ITEM_EFFECT_PP_UP; + else if (itemEffect[5] & ITEM5_PP_MAX) + return ITEM_EFFECT_PP_MAX; + else if (itemEffect[4] & (ITEM4_HEAL_PP_ALL | ITEM4_HEAL_PP_ONE)) + return ITEM_EFFECT_HEAL_PP; else - return 22; + return ITEM_EFFECT_NONE; } static void sub_81B7E4C(u8 taskId) diff --git a/src/player_pc.c b/src/player_pc.c index 49b9cc5f5..08f24d379 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -412,9 +412,9 @@ static void PlayerPC_Mailbox(u8 taskId) } } -static void PlayerPC_Decoration(u8 var) +static void PlayerPC_Decoration(u8 taskId) { - sub_8126B2C(var); //DoPlayerPCDecoration(var); + DoPlayerRoomDecorationMenu(taskId); } static void PlayerPC_TurnOff(u8 taskId) diff --git a/src/pokeblock.c b/src/pokeblock.c index 325c2d5d0..0d8469132 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -32,6 +32,7 @@ #include "text_window.h" #include "constants/items.h" #include "constants/songs.h" +#include "constants/rgb.h" #define POKEBLOCK_MAX_FEEL 99 #define FIELD_E75_COUNT 7 @@ -585,7 +586,7 @@ static bool8 InitPokeblockMenu(void) gMain.state++; break; case 18: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -948,7 +949,7 @@ static void sub_8136470(struct Sprite *sprite) static void FadePaletteAndSetTaskToClosePokeblockCase(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_FreeDataAndExitPokeblockCase; } diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 59ba1b4dc..4ad15414d 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -1,13 +1,14 @@ #include "global.h" -#include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere +#include "alloc.h" +#include "battle.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" #include "graphics.h" +#include "item_menu.h" #include "main.h" -#include "alloc.h" #include "menu.h" #include "menu_helpers.h" #include "m4a.h" @@ -23,6 +24,7 @@ #include "text_window.h" #include "trig.h" #include "util.h" +#include "constants/rgb.h" struct PokeblockFeedStruct { @@ -49,10 +51,8 @@ struct PokeblockFeedStruct u8 unused; }; -extern u16 gSpecialVar_ItemId; extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u16 gUnknown_0860F074[]; // this file's functions @@ -591,7 +591,7 @@ static bool8 TransitionToPokeblockFeedScene(void) gMain.state++; break; case 13: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -805,7 +805,7 @@ static void Task_ReturnAfterPaletteFade(u8 taskId) static void Task_PaletteFadeToReturn(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_ReturnAfterPaletteFade; } diff --git a/src/pokedex.c b/src/pokedex.c index cceb50ba1..2588e2b73 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1,7 +1,7 @@ #include "global.h" #include "battle_main.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" @@ -205,7 +205,7 @@ void blockset_load_palette_to_gpu(u8); void sub_80C01CC(struct Sprite *sprite); void sub_80C020C(u32, u32, u32, u32); void sub_80C0354(u16, u8, u8); -void sub_80C0460(u16, u8, u8); +void sub_80C0460(u16 weight, u8 left, u8 top); void sub_80C09B0(u16); u8 sub_80C0B44(u8, u16, u8, u8); void sub_80C0D30(u8, u16); @@ -2969,7 +2969,7 @@ void sub_80BEA24(u8 taskId) r3 = 0x14; if (gTasks[taskId].data[1] != 0) r3 |= (1 << (gSprites[gTasks[taskId].data[4]].oam.paletteNum + 16)); - BeginNormalPaletteFade(~r3, 0, 16, 0, 0); + BeginNormalPaletteFade(~r3, 0, 16, 0, RGB_BLACK); SetVBlankCallback(gUnknown_030060B4); gMain.state++; } @@ -3926,9 +3926,6 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d) sub_80BE8DC(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F); } -#define CHAR_PRIME (0xB4) -#define CHAR_DOUBLE_PRIME (0xB2) - void sub_80C0354(u16 height, u8 left, u8 top) { u8 buffer[16]; @@ -3954,10 +3951,10 @@ void sub_80C0354(u16 height, u8 left, u8 top) buffer[i++] = feet / 10 + CHAR_0; buffer[i++] = (feet % 10) + CHAR_0; } - buffer[i++] = CHAR_PRIME; + buffer[i++] = CHAR_SGL_QUOT_RIGHT; buffer[i++] = (inches / 10) + CHAR_0; buffer[i++] = (inches % 10) + CHAR_0; - buffer[i++] = CHAR_DOUBLE_PRIME; + buffer[i++] = CHAR_DBL_QUOT_RIGHT; buffer[i++] = EOS; sub_80BE8DC(buffer, left, top); } @@ -3968,12 +3965,11 @@ void sub_80C0354(u16 height, u8 left, u8 top) void sub_80C0460(u16 weight, u8 left, u8 top) { u8 buffer[16]; - u32 lbs; - u8 i = 0; bool8 output; + u8 i = 0; + u32 lbs = (weight * 100000) / 4536; - lbs = (weight * 100000) / 4536; - if (lbs % 10 >= 5) + if (lbs % 10u >= 5) lbs += 10; output = FALSE; @@ -3988,9 +3984,9 @@ void sub_80C0460(u16 weight, u8 left, u8 top) i++; } - lbs = (lbs % 100000); + lbs %= 100000; buffer[i] = (lbs / 10000) + CHAR_0; - if (buffer[i] == CHAR_0 && output == FALSE) + if (buffer[i] == CHAR_0 && !output) { buffer[i++] = 0x77; } @@ -4000,9 +3996,9 @@ void sub_80C0460(u16 weight, u8 left, u8 top) i++; } - lbs = (lbs % 10000); + lbs %= 10000; buffer[i] = (lbs / 1000) + CHAR_0; - if (buffer[i] == CHAR_0 && output == FALSE) + if (buffer[i] == CHAR_0 && !output) { buffer[i++] = 0x77; } @@ -4010,9 +4006,10 @@ void sub_80C0460(u16 weight, u8 left, u8 top) { i++; } - lbs = (lbs % 1000); + + lbs %= 1000; buffer[i++] = (lbs / 100) + CHAR_0; - lbs = (lbs % 100); + lbs %= 100; buffer[i++] = CHAR_PERIOD; buffer[i++] = (lbs / 10) + CHAR_0; buffer[i++] = CHAR_SPACE; @@ -4042,7 +4039,7 @@ void sub_80C0460(u16 weight, u8 left, u8 top) lsls r2, 24\n\ lsrs r2, 24\n\ str r2, [sp, 0x10]\n\ - ldr r5, =0x000186a0 @ Note to decompiler: See UNKNOWN_OFFSET\n\ + ldr r5, =0x000186a0\n\ muls r0, r5\n\ ldr r1, =0x000011b8\n\ bl __divsi3\n\ @@ -4076,7 +4073,7 @@ _080C04C0:\n\ mov r8, r1\n\ movs r6, 0x1\n\ _080C04C6:\n\ - ldr r1, =0x000186a0 @ Note to decompiler: See UNKNOWN_OFFSET\n\ + ldr r1, =0x000186a0\n\ adds r0, r7, 0\n\ bl __umodsi3\n\ adds r7, r0, 0\n\ diff --git a/src/pokemon.c b/src/pokemon.c index a75701cb0..4479fa448 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -9,6 +9,7 @@ #include "battle_pyramid.h" #include "battle_setup.h" #include "battle_tower.h" +#include "data.h" #include "event_data.h" #include "evolution_scene.h" #include "field_specials.h" @@ -38,6 +39,7 @@ #include "constants/battle_frontier.h" #include "constants/battle_move_effects.h" #include "constants/hold_effects.h" +#include "constants/item_effects.h" #include "constants/items.h" #include "constants/layouts.h" #include "constants/moves.h" @@ -51,29 +53,6 @@ struct SpeciesItem u16 item; }; -extern const struct SpriteFrameImage gUnknown_082FF3A8[]; -extern const struct SpriteFrameImage gUnknown_082FF3C8[]; -extern const struct SpriteFrameImage gUnknown_082FF3E8[]; -extern const struct SpriteFrameImage gUnknown_082FF408[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_May[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Red[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[]; -extern const union AffineAnimCmd *const gUnknown_082FF618[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *gPlayerMonSpriteAnimsTable[]; -extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[]; -extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; -extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const struct CompressedSpritePalette gMonPaletteTable[]; -extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; -extern const u8 gTrainerClassNames[][13]; - // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); @@ -3315,7 +3294,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } // flash fire triggered - if ((gBattleResources->flags->flags[battlerIdAtk] & UNKNOWN_FLAG_FLASH_FIRE) && type == TYPE_FIRE) + if ((gBattleResources->flags->flags[battlerIdAtk] & RESOURCE_FLAG_FLASH_FIRE) && type == TYPE_FIRE) damage = (15 * damage) / 10; } @@ -3435,7 +3414,7 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } -void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) +void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition) { if (gMonSpritesGfxPtr != NULL) gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; @@ -3446,13 +3425,13 @@ void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) else gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; - gMultiuseSpriteTemplate.paletteTag = species; + gMultiuseSpriteTemplate.paletteTag = speciesTag; if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) - gMultiuseSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; - else if (species > 500) - gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500]; + gMultiuseSpriteTemplate.anims = gUnknown_082FF70C; + else if (speciesTag > SPECIES_SHINY_TAG) + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG]; else - gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag]; } void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition) @@ -3663,7 +3642,8 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) struct PokemonSubstruct2 *substruct2 = NULL; struct PokemonSubstruct3 *substruct3 = NULL; - if (field > MON_DATA_10) + // Any field greater than MON_DATA_ENCRYPT_SEPARATOR is encrypted and must be treated as such + if (field > MON_DATA_ENCRYPT_SEPARATOR) { substruct0 = &(GetSubstruct(boxMon, boxMon->personality, 0)->type0); substruct1 = &(GetSubstruct(boxMon, boxMon->personality, 1)->type1); @@ -3757,7 +3737,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) case MON_DATA_CHECKSUM: retVal = boxMon->checksum; break; - case MON_DATA_10: + case MON_DATA_ENCRYPT_SEPARATOR: retVal = boxMon->unknown; break; case MON_DATA_SPECIES: @@ -3998,7 +3978,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) break; } - if (field > MON_DATA_10) + if (field > MON_DATA_ENCRYPT_SEPARATOR) EncryptBoxMon(boxMon); return retVal; @@ -4061,7 +4041,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) struct PokemonSubstruct2 *substruct2 = NULL; struct PokemonSubstruct3 *substruct3 = NULL; - if (field > MON_DATA_10) + if (field > MON_DATA_ENCRYPT_SEPARATOR) { substruct0 = &(GetSubstruct(boxMon, boxMon->personality, 0)->type0); substruct1 = &(GetSubstruct(boxMon, boxMon->personality, 1)->type1); @@ -4120,7 +4100,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) case MON_DATA_CHECKSUM: SET16(boxMon->checksum); break; - case MON_DATA_10: + case MON_DATA_ENCRYPT_SEPARATOR: SET16(boxMon->unknown); break; case MON_DATA_SPECIES: @@ -4316,7 +4296,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) break; } - if (field > MON_DATA_10) + if (field > MON_DATA_ENCRYPT_SEPARATOR) { boxMon->checksum = CalculateBoxMonChecksum(boxMon); EncryptBoxMon(boxMon); @@ -4466,7 +4446,7 @@ u8 GetMonAbility(struct Pokemon *mon) return GetAbilityBySpecies(species, altAbility); } -void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) +void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord) { s32 i, j; @@ -4686,9 +4666,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov battlerId = MAX_BATTLERS_COUNT; } - if (!IS_POKEMON_ITEM(item)) + if (!ITEM_HAS_EFFECT(item)) return TRUE; - if (gItemEffectTable[item - 13] == NULL && item != ITEM_ENIGMA_BERRY) + if (gItemEffectTable[item - ITEM_POTION] == NULL && item != ITEM_ENIGMA_BERRY) return TRUE; if (item == ITEM_ENIGMA_BERRY) @@ -4700,82 +4680,82 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } else { - itemEffect = gItemEffectTable[item - 13]; + itemEffect = gItemEffectTable[item - ITEM_POTION]; } for (cmdIndex = 0; cmdIndex < 6; cmdIndex++) { switch (cmdIndex) { - // status healing effects + // infatuation heal, x attack, sacred ash and dire hit case 0: - if ((itemEffect[cmdIndex] & 0x80) - && gMain.inBattle && battlerId != 4 && (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)) + if ((itemEffect[cmdIndex] & ITEM0_INFATUATION) + && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)) { gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x30) + if ((itemEffect[cmdIndex] & ITEM0_HIGH_CRIT) && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) { gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0xF) + if ((itemEffect[cmdIndex] & ITEM0_X_ATTACK) && gBattleMons[gActiveBattler].statStages[STAT_ATK] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & 0xF; + gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & ITEM0_X_ATTACK; if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > 12) gBattleMons[gActiveBattler].statStages[STAT_ATK] = 12; retVal = FALSE; } break; - // in-battle stat boosting effects? + // in-battle stat boosting effects case 1: - if ((itemEffect[cmdIndex] & 0xF0) + if ((itemEffect[cmdIndex] & ITEM1_X_DEFEND) && gBattleMons[gActiveBattler].statStages[STAT_DEF] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; + gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & ITEM1_X_DEFEND) >> 4; if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > 12) gBattleMons[gActiveBattler].statStages[STAT_DEF] = 12; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0xF) + if ((itemEffect[cmdIndex] & ITEM1_X_SPEED) && gBattleMons[gActiveBattler].statStages[STAT_SPEED] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & 0xF; + gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & ITEM1_X_SPEED; if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > 12) gBattleMons[gActiveBattler].statStages[STAT_SPEED] = 12; retVal = FALSE; } break; - // more stat boosting effects? + // more stat boosting effects case 2: - if ((itemEffect[cmdIndex] & 0xF0) + if ((itemEffect[cmdIndex] & ITEM2_X_ACCURACY) && gBattleMons[gActiveBattler].statStages[STAT_ACC] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; + gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & ITEM2_X_ACCURACY) >> 4; if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > 12) gBattleMons[gActiveBattler].statStages[STAT_ACC] = 12; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0xF) + if ((itemEffect[cmdIndex] & ITEM2_X_SPATK) && gBattleMons[gActiveBattler].statStages[STAT_SPATK] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & 0xF; + gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & ITEM2_X_SPATK; if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > 12) gBattleMons[gActiveBattler].statStages[STAT_SPATK] = 12; retVal = FALSE; } break; case 3: - if ((itemEffect[cmdIndex] & 0x80) + if ((itemEffect[cmdIndex] & ITEM3_MIST) && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) { gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x40) // raise level + if ((itemEffect[cmdIndex] & ITEM3_LEVEL_UP) && GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL) { dataUnsigned = gExperienceTables[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; @@ -4783,23 +4763,23 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov CalculateMonStats(mon); retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x20) + if ((itemEffect[cmdIndex] & ITEM3_SLEEP) && HealStatusConditions(mon, partyIndex, 7, battlerId) == 0) { if (battlerId != 4) gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; retVal = FALSE; } - if ((itemEffect[cmdIndex] & 0x10) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 8) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 4) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 2) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battlerId) == 0) + if ((itemEffect[cmdIndex] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & 1) // heal confusion - && gMain.inBattle && battlerId != 4 && (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)) + if ((itemEffect[cmdIndex] & ITEM3_CONFUSION) // heal confusion + && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)) { gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; retVal = FALSE; @@ -4808,9 +4788,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // EV, HP, and PP raising effects case 4: r10 = itemEffect[cmdIndex]; - if (r10 & 0x20) + if (r10 & ITEM4_PP_UP) { - r10 &= ~0x20; + r10 &= ~ITEM4_PP_UP; dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); var_38 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); if (dataUnsigned <= 2 && var_38 > 4) @@ -4833,6 +4813,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { case 0: case 1: + // ev raise evCount = GetMonEVCount(mon); r5 = itemEffect[var_3C]; dataSigned = GetMonData(mon, sGetMonDataEVConstants[var_38], NULL); @@ -4871,7 +4852,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov retVal = FALSE; break; case 2: - // revive? + // revive if (r10 & 0x10) { if (GetMonData(mon, MON_DATA_HP, NULL) != 0) @@ -4952,6 +4933,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov r10 &= 0xEF; break; case 3: + // Heal pp in all moves. if (!(r10 & 2)) { for (r5 = 0; (signed)(r5) < (signed)(4); r5++) @@ -4971,7 +4953,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } SetMonData(mon, MON_DATA_PP1 + r5, &dataUnsigned); if (gMain.inBattle - && battlerId != 4 && !(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) + && battlerId != MAX_BATTLERS_COUNT && !(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[battlerId].mimickedMoves & gBitTable[r5])) gBattleMons[battlerId].pp[r5] = dataUnsigned; retVal = FALSE; @@ -4979,6 +4961,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } var_3C++; } + // Heal pp in one move. else { u16 moveId; @@ -5003,6 +4986,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } } break; + // Evolution stone case 7: { u16 targetSpecies = GetEvolutionTargetSpecies(mon, 2, item); @@ -5020,6 +5004,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov r10 >>= 1; } break; + // EV and friendship case 5: r10 = itemEffect[cmdIndex]; var_38 = 0; @@ -5202,7 +5187,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) offset = 6; - temp = gItemEffectTable[itemId - 13]; + temp = gItemEffectTable[itemId - ITEM_POTION]; if (!temp && itemId != ITEM_ENIGMA_BERRY) return 0; @@ -5227,8 +5212,8 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) break; case 4: val = itemEffect[4]; - if (val & 0x20) - val &= 0xDF; + if (val & ITEM4_PP_UP) + val &= ~(ITEM4_PP_UP); j = 0; while (val) { @@ -5326,7 +5311,7 @@ u8 *sub_806CF78(u16 itemId) } else { - itemEffect = gItemEffectTable[itemId - 13]; + itemEffect = gItemEffectTable[itemId - ITEM_POTION]; } gPotentialItemEffectBattler = gBattlerInMenuId; @@ -5349,7 +5334,7 @@ u8 *sub_806CF78(u16 itemId) } } - if (itemEffect[3] & 0x80) + if (itemEffect[3] & ITEM3_MIST) { gBattlerAttacker = gBattlerInMenuId; BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist); @@ -6819,7 +6804,7 @@ static void sub_806F1FC(struct Unknown_806F160_Struct* structPtr) structPtr->frameImages[i * structPtr->field_0_0 + j].data = &structPtr->byteArrays[i][j * 0x800]; } structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->field_0_0]; - structPtr->templates[i].anims = gPlayerMonSpriteAnimsTable; + structPtr->templates[i].anims = gUnknown_082FF70C; structPtr->templates[i].paletteTag = i; } } diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c new file mode 100755 index 000000000..4a457adc4 --- /dev/null +++ b/src/pokemon_jump.c @@ -0,0 +1,2406 @@ +#include "global.h" +#include "alloc.h" +#include "data.h" +#include "decompress.h" +#include "event_data.h" +#include "item.h" +#include "link.h" +#include "link_rfu.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "random.h" +#include "save.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "trig.h" +#include "pokemon.h" +#include "pokemon_jump.h" +#include "constants/rgb.h" +#include "constants/songs.h" +#include "constants/species.h" + +struct PokemonJump1_MonInfo +{ + u16 species; + u32 otId; + u32 personality; +}; + +struct PokemonJump1_82E4 +{ + int unk0; + int unk4; + u8 filler8[0x4]; + u16 unkC; + u16 unkE; + u16 unk10; + u16 unk12; + int unk14; + int unk18; + u8 unk1C[11]; +}; + +struct PokemonJump1 +{ + MainCallback returnCallback; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u16 unk8; + u16 unkA; + u16 unkC; + u16 unkE; + int unk10; + u32 unk14; + u32 unk18; + int unk1C; + u32 unk20; + u32 unk24; + u32 unk28; + int unk2C; + u32 unk30; + u16 unk34; + u16 unk36; + u8 filler38[0x2]; + u16 unk3A; + u16 unk3C; + u16 unk3E; + u16 unk40; + u16 unk42; + u8 unk44; + u8 unk45; + u8 unk46; + u8 isLeader; + u8 unk48; + u8 unk49; + u16 unk4A; + u8 unk4C; + u8 unk4D; + u16 unk4E; + u8 unk50; + u8 unk51; + u8 filler52[0x2]; + int unk54; + int unk58; + int unk5C; + int unk60; + int unk64; + int unk68; + int unk6C; + u8 unk70; + u8 unk71; + u16 unk72; + u16 unk74; + u32 unk78; + u8 unk7C[MAX_RFU_PLAYERS]; + u8 unk81[MAX_RFU_PLAYERS]; + u8 unk86[MAX_RFU_PLAYERS]; + u8 unk8B[MAX_RFU_PLAYERS]; + u16 unk90[MAX_RFU_PLAYERS]; + u16 unk9A[MAX_RFU_PLAYERS]; + void **unkA4; + u8 fillerA8[0x8200]; + struct PokemonJump1_MonInfo unk82A8[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 unk82E4[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 *unk83AC; +}; + +struct PokemonJumpMons +{ + u16 species; + u16 unk2; +}; + +struct Unk802B078 +{ + u8 unk0; + u8 unk1; + u16 unk2; + u16 unk4; + u16 unk6; + int unk8; +}; + + +struct PokemonJump2 +{ + u8 filler0[0xE]; + u8 unkE; + u8 unkF; + u8 filler10[0x8198]; + struct Sprite *unk81A8[MAX_RFU_PLAYERS]; + struct Sprite *unk81BC[MAX_RFU_PLAYERS]; + struct Sprite *unk81D0[8]; + u8 filler81F0[0xC]; + u8 unk81FC[MAX_RFU_PLAYERS]; +}; + +static void sub_802AA60(struct PokemonJump1 *); +void sub_802AA94(struct PokemonJump1 *); +void sub_802AB20(void); +static void sub_802AB98(void); +static s16 sub_802AC00(u16 species); +static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon); +static void sub_802AC6C(void); +static void sub_802ACA0(u8 taskId); +static void sub_802AF80(u8 taskId); +static void sub_802B008(void); +static void sub_802B194(u8 taskId); +static void sub_802B1FC(void); +static bool32 sub_802B248(void); +static bool32 sub_802B2D4(void); +static bool32 sub_802B368(void); +static bool32 sub_802B3D4(void); +static bool32 sub_802B470(void); +static bool32 sub_802B4CC(void); +static bool32 sub_802B568(void); +static bool32 sub_802B5C8(void); +static bool32 sub_802B628(void); +static bool32 sub_802B664(void); +static bool32 sub_802B6B8(void); +static bool32 sub_802B704(void); +static bool32 sub_802B720(void); +static bool32 sub_802B7E0(void); +static bool32 sub_802B8CC(void); +static bool32 sub_802B964(void); +static bool32 sub_802B29C(void); +static bool32 sub_802B31C(void); +static bool32 sub_802B3B4(void); +static bool32 sub_802BA58(void); +static bool32 sub_802BB84(void); +static bool32 sub_802BC60(void); +static bool32 sub_802BD30(void); +static void sub_802BD84(u8 taskId); +static void sub_802BE60(TaskFunc func, u8 taskPriority); +static void sub_802BE80(void); +static void sub_802BEA0(void); +static void sub_802BEE4(void); +static int sub_802BF48(void); +static void sub_802BF7C(void); +static int sub_802C098(void); +static void sub_802C0B8(void); +static void sub_802C0E8(void); +static void sub_802C114(void); +static bool32 sub_802C130(u16); +static void sub_802C164(void); +static void sub_802C1DC(void); +static void sub_802C240(void); +static void sub_802C260(void); +static void sub_802C270(void); +static void sub_802C280(void); +static void sub_802C398(int); +static void sub_802C43C(void); +static bool32 sub_802C538(void); +static bool32 sub_802C5DC(void); +static bool32 sub_802C618(void); +static bool32 sub_802C650(void); +static void sub_802C688(int); +static int sub_802C6B0(void); +static bool32 sub_802C70C(void); +static int sub_802C73C(u8 *); +static void sub_802C780(void); +static int sub_802C790(int); +static void sub_802C7A0(u16); +static bool32 sub_802C7BC(void); +static u16 sub_802C7E0(void); +static void sub_802C808(u16, u16 *, u16 *); +static u16 sub_802C818(void); +static u16 sub_802C838(void); +static u16 sub_802C880(u16 item, u16 quantity); +static void sub_802CB7C(struct Sprite *sprite); +static void sub_802CC40(struct Sprite *sprite); +static void sub_802CD08(struct Sprite *sprite); +static void sub_802CDD4(struct Sprite *sprite); +void sub_802DC9C(u32); +void sub_802D074(void *); +void sub_802D0AC(void); +void sub_802D0C8(int); +int sub_802D0F0(void); +void sub_802D764(void); +bool32 sub_802D788(void); +void sub_802D7E8(u16, u16); +void sub_802D884(u16); +void sub_802D8FC(u16); +bool32 sub_802D974(void); +void sub_802DA14(void); +void sub_802DC80(int, s8); +void sub_802DD88(u8); +bool32 sub_802DA44(void); +void sub_802DD64(int); +s8 sub_802DA8C(void); +int sub_802DCCC(u8); +void sub_802DD74(u16); +void sub_802DDA0(u8); +int sub_802DDB8(int); +void sub_802DDCC(void); +void sub_802DDE0(void); +void sub_802DDF4(int); +int sub_802DE08(void); +void sub_802E0AC(struct PokemonJump1_MonInfo *); +bool32 sub_802E0D0(int, struct PokemonJump1_MonInfo *); +void sub_802E138(struct PokemonJump1_82E4 *, u8 *); +bool32 sub_802E1BC(struct PokemonJump1_82E4 *, struct Unk802B078 *); +void sub_802E234(struct PokemonJump1_82E4 *, u8 , u16); +bool32 sub_802E264(struct PokemonJump1_82E4 *, int, u8 *, u16 *); +bool32 sub_802E2D0(struct PokemonJump1_82E4 *, int); +int sub_802E354(int, u16, u16); +void sub_802E3A8(void); + +extern struct PokemonJump1 *gUnknown_02022CFC; +extern struct PokemonJump2 *gUnknown_02022D00; + +const struct PokemonJumpMons gPkmnJumpSpecies[] = +{ + { .species = SPECIES_BULBASAUR, .unk2 = 2, }, + { .species = SPECIES_CHARMANDER, .unk2 = 1, }, + { .species = SPECIES_SQUIRTLE, .unk2 = 0, }, + { .species = SPECIES_CATERPIE, .unk2 = 1, }, + { .species = SPECIES_METAPOD, .unk2 = 1, }, + { .species = SPECIES_WEEDLE, .unk2 = 1, }, + { .species = SPECIES_KAKUNA, .unk2 = 1, }, + { .species = SPECIES_RATTATA, .unk2 = 1, }, + { .species = SPECIES_RATICATE, .unk2 = 1, }, + { .species = SPECIES_PIKACHU, .unk2 = 0, }, + { .species = SPECIES_SANDSHREW, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_F, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_M, .unk2 = 0, }, + { .species = SPECIES_CLEFAIRY, .unk2 = 0, }, + { .species = SPECIES_VULPIX, .unk2 = 0, }, + { .species = SPECIES_JIGGLYPUFF, .unk2 = 2, }, + { .species = SPECIES_ODDISH, .unk2 = 2, }, + { .species = SPECIES_PARAS, .unk2 = 1, }, + { .species = SPECIES_MEOWTH, .unk2 = 0, }, + { .species = SPECIES_PSYDUCK, .unk2 = 2, }, + { .species = SPECIES_MANKEY, .unk2 = 1, }, + { .species = SPECIES_GROWLITHE, .unk2 = 1, }, + { .species = SPECIES_POLIWAG, .unk2 = 2, }, + { .species = SPECIES_BELLSPROUT, .unk2 = 2, }, + { .species = SPECIES_SHELLDER, .unk2 = 1, }, + { .species = SPECIES_KRABBY, .unk2 = 1, }, + { .species = SPECIES_EXEGGCUTE, .unk2 = 2, }, + { .species = SPECIES_CUBONE, .unk2 = 0, }, + { .species = SPECIES_DITTO, .unk2 = 2, }, + { .species = SPECIES_EEVEE, .unk2 = 0, }, + { .species = SPECIES_OMANYTE, .unk2 = 1, }, + { .species = SPECIES_KABUTO, .unk2 = 1, }, + { .species = SPECIES_CHIKORITA, .unk2 = 2, }, + { .species = SPECIES_CYNDAQUIL, .unk2 = 1, }, + { .species = SPECIES_TOTODILE, .unk2 = 0, }, + { .species = SPECIES_SPINARAK, .unk2 = 1, }, + { .species = SPECIES_PICHU, .unk2 = 0, }, + { .species = SPECIES_CLEFFA, .unk2 = 0, }, + { .species = SPECIES_IGGLYBUFF, .unk2 = 2, }, + { .species = SPECIES_TOGEPI, .unk2 = 2, }, + { .species = SPECIES_MAREEP, .unk2 = 0, }, + { .species = SPECIES_BELLOSSOM, .unk2 = 2, }, + { .species = SPECIES_MARILL, .unk2 = 2, }, + { .species = SPECIES_SUNKERN, .unk2 = 2, }, + { .species = SPECIES_WOOPER, .unk2 = 2, }, + { .species = SPECIES_PINECO, .unk2 = 2, }, + { .species = SPECIES_SNUBBULL, .unk2 = 0, }, + { .species = SPECIES_SHUCKLE, .unk2 = 2, }, + { .species = SPECIES_TEDDIURSA, .unk2 = 0, }, + { .species = SPECIES_SLUGMA, .unk2 = 2, }, + { .species = SPECIES_SWINUB, .unk2 = 0, }, + { .species = SPECIES_HOUNDOUR, .unk2 = 1, }, + { .species = SPECIES_PHANPY, .unk2 = 0, }, + { .species = SPECIES_PORYGON2, .unk2 = 0, }, + { .species = SPECIES_TYROGUE, .unk2 = 1, }, + { .species = SPECIES_SMOOCHUM, .unk2 = 2, }, + { .species = SPECIES_ELEKID, .unk2 = 1, }, + { .species = SPECIES_MAGBY, .unk2 = 1, }, + { .species = SPECIES_LARVITAR, .unk2 = 1, }, + { .species = SPECIES_TREECKO, .unk2 = 1, }, + { .species = SPECIES_TORCHIC, .unk2 = 2, }, + { .species = SPECIES_MUDKIP, .unk2 = 0, }, + { .species = SPECIES_MARSHTOMP, .unk2 = 0, }, + { .species = SPECIES_POOCHYENA, .unk2 = 1, }, + { .species = SPECIES_ZIGZAGOON, .unk2 = 0, }, + { .species = SPECIES_LINOONE, .unk2 = 0, }, + { .species = SPECIES_WURMPLE, .unk2 = 1, }, + { .species = SPECIES_SILCOON, .unk2 = 2, }, + { .species = SPECIES_CASCOON, .unk2 = 2, }, + { .species = SPECIES_LOTAD, .unk2 = 2, }, + { .species = SPECIES_SEEDOT, .unk2 = 1, }, + { .species = SPECIES_RALTS, .unk2 = 0, }, + { .species = SPECIES_KIRLIA, .unk2 = 0, }, + { .species = SPECIES_SURSKIT, .unk2 = 2, }, + { .species = SPECIES_SHROOMISH, .unk2 = 2, }, + { .species = SPECIES_NINCADA, .unk2 = 1, }, + { .species = SPECIES_WHISMUR, .unk2 = 0, }, + { .species = SPECIES_AZURILL, .unk2 = 2, }, + { .species = SPECIES_SKITTY, .unk2 = 0, }, + { .species = SPECIES_SABLEYE, .unk2 = 0, }, + { .species = SPECIES_MAWILE, .unk2 = 0, }, + { .species = SPECIES_ARON, .unk2 = 1, }, + { .species = SPECIES_MEDITITE, .unk2 = 2, }, + { .species = SPECIES_ELECTRIKE, .unk2 = 1, }, + { .species = SPECIES_PLUSLE, .unk2 = 1, }, + { .species = SPECIES_MINUN, .unk2 = 1, }, + { .species = SPECIES_VOLBEAT, .unk2 = 0, }, + { .species = SPECIES_ILLUMISE, .unk2 = 0, }, + { .species = SPECIES_ROSELIA, .unk2 = 2, }, + { .species = SPECIES_GULPIN, .unk2 = 2, }, + { .species = SPECIES_NUMEL, .unk2 = 2, }, + { .species = SPECIES_TORKOAL, .unk2 = 2, }, + { .species = SPECIES_SPOINK, .unk2 = 0, }, + { .species = SPECIES_TRAPINCH, .unk2 = 2, }, + { .species = SPECIES_CACNEA, .unk2 = 2, }, + { .species = SPECIES_ANORITH, .unk2 = 1, }, + { .species = SPECIES_WYNAUT, .unk2 = 0, }, + { .species = SPECIES_SNORUNT, .unk2 = 0, }, + { .species = SPECIES_CLAMPERL, .unk2 = 1, }, + { .species = SPECIES_BAGON, .unk2 = 1, }, +}; + +bool32 (* const gUnknown_082FB5F4[])(void) = +{ + sub_802B248, + sub_802B2D4, + sub_802B368, + sub_802B3D4, + sub_802B4CC, + sub_802B5C8, + sub_802B664, + sub_802B6B8, + sub_802B720, +}; + +bool32 (* const gUnknown_082FB618[])(void) = +{ + sub_802B29C, + sub_802B31C, + sub_802B3B4, + sub_802B470, + sub_802B568, + sub_802B628, + sub_802B664, + sub_802B704, + sub_802B720, +}; + +extern const u16 gUnknown_082FB63C[]; +extern const u16 gUnknown_082FB64C[4]; +extern const u16 gUnknown_082FB654[]; +extern const s8 gUnknown_082FB65C[][48]; +extern const int gUnknown_082FB6EC[]; +extern const int gUnknown_082FB714[]; +extern const u16 gUnknown_082FB704[8]; +extern const struct CompressedSpriteSheet gUnknown_082FBE08[5]; +extern const struct SpritePalette gUnknown_082FBE30[2]; +extern const struct SpriteTemplate gUnknown_082FBE40; +extern const struct SpriteTemplate gUnknown_082FC00C; +extern const s16 gUnknown_082FBE58[]; +extern const s16 gUnknown_082FBEA8[8]; +extern const struct SpriteTemplate gUnknown_082FBEB8[4]; + +void sub_802A9A8(u16 partyIndex, MainCallback callback) +{ + u8 taskId; + + if (gReceivedRemoteLinkPlayers) + { + gUnknown_02022CFC = Alloc(sizeof(*gUnknown_02022CFC)); + if (gUnknown_02022CFC) + { + ResetTasks(); + taskId = CreateTask(sub_802ACA0, 1); + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->returnCallback = callback; + gUnknown_02022CFC->unk4 = taskId; + gUnknown_02022CFC->unk6 = GetMultiplayerId(); + sub_802AC2C(&gUnknown_02022CFC->unk82A8[gUnknown_02022CFC->unk6], &gPlayerParty[partyIndex]); + sub_802AA60(gUnknown_02022CFC); + SetWordTaskArg(taskId, 2, (u32)gUnknown_02022CFC); + SetMainCallback2(sub_802AC6C); + return; + } + } + + SetMainCallback2(callback); +} + +static void sub_802AA48(void) +{ + sub_802D0AC(); + Free(gUnknown_02022CFC); +} + +static void sub_802AA60(struct PokemonJump1 *arg0) +{ + arg0->unk5 = GetLinkPlayerCount(); + arg0->unk70 = 5; + arg0->unk72 = 0; + sub_802AB20(); + sub_802AA94(arg0); + if (arg0->unk5 == MAX_RFU_PLAYERS) + sub_802E3A8(); +} + +void sub_802AA94(struct PokemonJump1 *arg0) +{ + int i; + + arg0->unk14 = 6; + arg0->unk18 = 6; + arg0->unk4A = 0; + arg0->unk1C = 0; + arg0->unk5C = 0; + arg0->isLeader = GetMultiplayerId() == 0; + arg0->unk8 = 0; + arg0->unkA = 0; + arg0->unkC = 0; + arg0->unkE = 0; + arg0->unk58 = 0; + arg0->unk3A = 0; + arg0->unk44 = 0; + arg0->unk54 = 0; + arg0->unk46 = 0; + arg0->unk49 = 0; + arg0->unk48 = 1; + arg0->unk78 = 0; + arg0->unk71 = 0; + arg0->unk74 = 0; + arg0->unk60 = 1; + arg0->unk4D = 0; + arg0->unk68 = 0; + arg0->unk64 = 0; + arg0->unk2C = 0; + arg0->unk30 = 0; + sub_802AB98(); + sub_802C0E8(); + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + arg0->unk7C[i] = 0; + arg0->unk9A[i] = 0; + } +} + +void sub_802AB20(void) +{ + int i, index; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + index = sub_802AC00(gUnknown_02022CFC->unk82A8[i].species); + gUnknown_02022CFC->unk82E4[i].unkC = gPkmnJumpSpecies[index].unk2; + } + + gUnknown_02022CFC->unk83AC = &gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6]; +} + +static void sub_802AB98(void) +{ + int i; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + gUnknown_02022CFC->unk82E4[i].unkE = 0; + gUnknown_02022CFC->unk82E4[i].unk10 = 0; + gUnknown_02022CFC->unk82E4[i].unk12 = 0; + gUnknown_02022CFC->unk82E4[i].unk0 = 0; + gUnknown_02022CFC->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_02022CFC->unk82E4[i].unk14 = 0; + gUnknown_02022CFC->unk8B[i] = 9; + } +} + +static s16 sub_802AC00(u16 species) +{ + u32 i; + for (i = 0; i < ARRAY_COUNT(gPkmnJumpSpecies); i++) + { + if (gPkmnJumpSpecies[i].species == species) + return i; + } + + return -1; +} + +static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon) +{ + monInfo->species = GetMonData(mon, MON_DATA_SPECIES); + monInfo->otId = GetMonData(mon, MON_DATA_OT_ID); + monInfo->personality = GetMonData(mon, MON_DATA_PERSONALITY); +} + +static void sub_802AC58(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_802AC6C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_802AC84(TaskFunc func) +{ + gUnknown_02022CFC->unk4 = CreateTask(func, 1); + gUnknown_02022CFC->unk8 = 0; +} + +static void sub_802ACA0(u8 taskId) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + sub_802BE60(sub_802BD84, 5); + FadeOutMapMusic(4); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!FuncIsActiveTask(sub_802BD84)) + { + sub_802D074(&gUnknown_02022CFC->unkA4); + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + gUnknown_02022CFC->unk8++; + } + break; + case 2: + if (!sub_802D0F0() && IsNotWaitingForBGMStop() == TRUE) + { + FadeOutAndPlayNewMapMusic(MUS_RG_JUMP, 8); + gUnknown_02022CFC->unk8++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback(sub_802AC58); + gUnknown_02022CFC->unk8++; + } + break; + case 4: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_02022CFC->unk7 = 0; + gUnknown_02022CFC->unk8++; + } + break; + case 5: + gUnknown_02022CFC->unk7++; + if (gUnknown_02022CFC->unk7 >= 20) + { + if (gUnknown_02022CFC->isLeader) + sub_802AC84(sub_802AF80); + else + sub_802AC84(sub_802B194); + + sub_802BE80(); + DestroyTask(taskId); + } + break; + } +} + +static void sub_802AE14(int arg0) +{ + if (arg0 == 0) + { + gUnknown_02022CFC->unk30 = 0x1111; + gUnknown_02022CFC->unk2C = 1; + } + else + { + gUnknown_02022CFC->unk30 = (1 << (arg0 - 1)) - 1; + gUnknown_02022CFC->unk2C = 0; + } +} + +static void sub_802AE50(u8 arg0) +{ + int i; + + gUnknown_02022CFC->unk70 = arg0; + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->unkA = 0; + gUnknown_02022CFC->unk48 = 1; + gUnknown_02022CFC->unk49 = 0; + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + gUnknown_02022CFC->unk82E4[i].unk18 = 0; +} + +static void sub_802AEA4(void) +{ + int i; + int count; + u16 var0; + u8 var1; + u16 var2; + + for (i = 1, count = 0; i < gUnknown_02022CFC->unk5; i++) + { + var0 = gUnknown_02022CFC->unk82E4[i].unk10; + if (sub_802E264(&gUnknown_02022CFC->unk82E4[i], i, &var1, &var2)) + { + gUnknown_02022CFC->unk90[i] = var2; + gUnknown_02022CFC->unk8B[i] = var1; + gUnknown_02022CFC->unk82E4[i].unk12 = var0; + } + + if (gUnknown_02022CFC->unk82E4[i].unk18 && gUnknown_02022CFC->unk8B[i] == gUnknown_02022CFC->unk70) + count++; + } + + if (count == gUnknown_02022CFC->unk5 - 1) + gUnknown_02022CFC->unk49 = 1; +} + +static void sub_802AF80(u8 taskId) +{ + sub_802AEA4(); + sub_802C43C(); + if (!gUnknown_02022CFC->unk48 && gUnknown_02022CFC->unk49) + { + sub_802AE50(gUnknown_02022CFC->unk4C); + sub_802AE14(3); + } + + if (gUnknown_02022CFC->unk48 == 1) + { + if (!gUnknown_082FB5F4[gUnknown_02022CFC->unk70]()) + { + gUnknown_02022CFC->unk48 = 0; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 1; + } + } + + sub_802C1DC(); + sub_802B008(); +} + +static void sub_802B008(void) +{ + if (!gUnknown_02022CFC->unk2C) + sub_802E138(gUnknown_02022CFC->unk82E4, &gUnknown_02022CFC->unk70); + + if (gUnknown_02022CFC->unk30 != 0x1111) + { + gUnknown_02022CFC->unk2C++; + gUnknown_02022CFC->unk2C &= gUnknown_02022CFC->unk30; + } +} + +static void sub_802B044(u8 arg0) +{ + gUnknown_02022CFC->unk70 = arg0; + gUnknown_02022CFC->unk8 = 0; + gUnknown_02022CFC->unkA = 0; + gUnknown_02022CFC->unk48 = 1; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 0; +} + +static void sub_802B078(void) +{ + int i; + u16 var0; + struct Unk802B078 sp0; + + var0 = gUnknown_02022CFC->unk82E4[0].unk10; + if (sub_802E1BC(gUnknown_02022CFC->unk82E4, &sp0)) + { + if (gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 == 1 + && sp0.unk0 != gUnknown_02022CFC->unk70) + { + sub_802B044(sp0.unk0); + } + + if (gUnknown_02022CFC->unk78 != sp0.unk8) + { + gUnknown_02022CFC->unk78 = sp0.unk8; + gUnknown_02022CFC->unk5C = 1; + gUnknown_02022CFC->unk71 = sp0.unk1; + if (gUnknown_02022CFC->unk71) + gUnknown_02022CFC->unk4D = 1; + else + gUnknown_02022CFC->unk4D = 0; + } + + gUnknown_02022CFC->unk72 = sp0.unk2; + gUnknown_02022CFC->unk74 = sp0.unk4; + gUnknown_02022CFC->unk82E4[0].unk12 = var0; + } + + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + { + if (i != gUnknown_02022CFC->unk6) + { + var0 = gUnknown_02022CFC->unk82E4[i].unk10; + if (sub_802E2D0(&gUnknown_02022CFC->unk82E4[i], i)) + gUnknown_02022CFC->unk82E4[i].unk12 = var0; + } + } +} + +static void sub_802B194(u8 taskId) +{ + sub_802B078(); + if (gUnknown_02022CFC->unk48) + { + if (!gUnknown_082FB618[gUnknown_02022CFC->unk70]()) + { + gUnknown_02022CFC->unk48 = 0; + gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk18 = 1; + sub_802AE14(3); + } + } + + sub_802C1DC(); + sub_802B1FC(); +} + +static void sub_802B1FC(void) +{ + if (!gUnknown_02022CFC->unk2C) + sub_802E234(&gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6], gUnknown_02022CFC->unk70, gUnknown_02022CFC->unk42); + + if (gUnknown_02022CFC->unk30 != 0x1111) + { + gUnknown_02022CFC->unk2C++; + gUnknown_02022CFC->unk2C &= gUnknown_02022CFC->unk30; + } +} + +static bool32 sub_802B248(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(3); + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (!sub_802B7E0()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk4C = 1; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B29C(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(0); + gUnknown_02022CFC->unk24 = gUnknown_02022CFC->unk72; + gUnknown_02022CFC->unk8++; + // fall through + case 1: + return sub_802B7E0(); + } + + return TRUE; +} + +static bool32 sub_802B2D4(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C0E8(); + sub_802AE14(5); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (gUnknown_02022CFC->unk49) + { + gUnknown_02022CFC->unk4C = 2; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B31C(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C0E8(); + sub_802AE14(0); + gUnknown_02022CFC->unk4A = gUnknown_02022CFC->unk72; + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (sub_802C70C()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_802B368(void) +{ + if (!sub_802B8CC()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk4C = 1; + } + else if (sub_802C538()) + { + return TRUE; + } + else + { + sub_802C0B8(); + gUnknown_02022CFC->unk4C = 3; + } + + return FALSE; +} + +static bool32 sub_802B3B4(void) +{ + if (!sub_802B8CC()) + ; + else if (sub_802C538()) + return TRUE; + else + sub_802C0B8(); + + return FALSE; +} + +static bool32 sub_802B3D4(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802C538(); + if (sub_802C5DC()) + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802B964()) + { + if (sub_802C7BC()) + { + gUnknown_02022CFC->unk72 = sub_802C7E0(); + gUnknown_02022CFC->unk4C = 7; + } + else if (gUnknown_02022CFC->unk74 >= 200) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unkE; + gUnknown_02022CFC->unk4C = 8; + } + else + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unkE; + gUnknown_02022CFC->unk4C = 4; + } + + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B470(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + if (!sub_802C538()) + sub_802C0B8(); + if (sub_802C5DC()) + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802B964()) + { + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B4CC(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(4); + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (!sub_802BB84()) + { + sub_802E354(gUnknown_02022CFC->unk78, gUnknown_02022CFC->unk74, gUnknown_02022CFC->unk72); + gUnknown_02022CFC->unk8++; + } + break; + case 2: + if (gUnknown_02022CFC->unk49) + { + if (sub_802C650()) + gUnknown_02022CFC->unk4C = 5; + else + gUnknown_02022CFC->unk4C = 6; + + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B568(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(0); + gUnknown_02022CFC->unk8++; + // fall through + case 1: + if (!sub_802BB84()) + { + sub_802E354(gUnknown_02022CFC->unk78, gUnknown_02022CFC->unk74, gUnknown_02022CFC->unk72); + gUnknown_02022CFC->unk42 = gUnknown_02022CFC->unk45; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B5C8(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + if (!sub_802BD30()) + gUnknown_02022CFC->unk8++; + break; + case 1: + if (gUnknown_02022CFC->unk49) + { + sub_802AA94(gUnknown_02022CFC); + gUnknown_02022CFC->unk24 = Random(); + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unk24; + gUnknown_02022CFC->unk4C = 0; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B628(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + if (!sub_802BD30()) + { + sub_802AA94(gUnknown_02022CFC); + gUnknown_02022CFC->unk8++; + return FALSE; + } + break; + case 1: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B664(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + gUnknown_02022CFC->unk8 = 1; + break; + case 1: + sub_802AE14(0); + gUnknown_02022CFC->unk8++; + break; + case 2: + if (!sub_802BC60()) + { + SetMainCallback2(gUnknown_02022CFC->returnCallback); + sub_802AA48(); + } + break; + } + + return TRUE; +} + +static bool32 sub_802B6B8(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802AE14(4); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802BA58()) + { + gUnknown_02022CFC->unk72 = gUnknown_02022CFC->unkE; + gUnknown_02022CFC->unk4C = 8; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B704(void) +{ + sub_802AE14(0); + if (!sub_802BA58()) + return FALSE; + else + return TRUE; +} + +static bool32 sub_802B720(void) +{ + switch (gUnknown_02022CFC->unk8) + { + case 0: + sub_802E354(gUnknown_02022CFC->unk78, gUnknown_02022CFC->unk74, gUnknown_02022CFC->unk72); + sub_802D0C8(5); + gUnknown_02022CFC->unk8++; + break; + case 1: + if (!sub_802D0F0()) + { + sub_802AE14(0); + gUnknown_02022CFC->unk8++; + } + break; + case 2: + if (sub_802C70C()) + { + CreateTask(sub_8153688, 6); + gUnknown_02022CFC->unk8++; + } + break; + case 3: + if (!FuncIsActiveTask(sub_8153688)) + { + sub_802DA14(); + gUnknown_02022CFC->unk8++; + } + break; + case 4: + if (!sub_802DA44()) + { + gUnknown_02022CFC->unk4C = 4; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_802B7E0(void) +{ + int var0; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802D0C8(2); + sub_802DDE0(); + gUnknown_02022CFC->unkA++; + break; + case 1: + var0 = sub_802D0F0(); + if (!var0) + { + sub_802DDF4(gUnknown_02022CFC->unk6); + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + } + break; + case 2: + if (++gUnknown_02022CFC->unk3C > 120) + { + sub_802D0C8(3); + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (sub_802D0F0() != 1 && sub_802DE08() != 1) + gUnknown_02022CFC->unkA++; + break; + case 4: + sub_802D0C8(9); + gUnknown_02022CFC->unkA++; + break; + case 5: + if (!sub_802D0F0()) + { + sub_802C260(); + sub_802D764(); + gUnknown_02022CFC->unkA++; + } + break; + case 6: + if (!sub_802D788()) + { + sub_802C270(); + sub_802BEA0(); + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 7: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802B8CC(void) +{ + sub_802BEE4(); + if (gUnknown_02022CFC->unk36) + { + gUnknown_02022CFC->unk36 = 0; + return FALSE; + } + + switch (gUnknown_02022CFC->unkA) + { + case 0: + if (sub_802C130(0)) + gUnknown_02022CFC->unkA++; + else + break; + // fall through + case 1: + if (gMain.newKeys & A_BUTTON) + { + sub_802C164(); + sub_802AE14(3); + gUnknown_02022CFC->unkA++; + } + break; + case 2: + if (sub_802C130(1) == TRUE) + gUnknown_02022CFC->unkA++; + break; + case 3: + if (sub_802C130(0) == TRUE) + gUnknown_02022CFC->unkA = 0; + break; + } + + return TRUE; +} + +static bool32 sub_802B964(void) +{ + int i; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (sub_802DDB8(i) == 1) + return TRUE; + } + + gUnknown_02022CFC->unkA++; + break; + case 1: + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk10 == 2) + sub_802DDA0(i); + } + + sub_802D0C8(1); + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + break; + case 2: + if (++gUnknown_02022CFC->unk3C > 100) + { + sub_802D0C8(3); + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (!sub_802D0F0()) + { + sub_802DDCC(); + gUnknown_02022CFC->unk71 = 0; + sub_802C114(); + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 4: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802BA58(void) +{ + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802C808(gUnknown_02022CFC->unk72, &gUnknown_02022CFC->unk3E, &gUnknown_02022CFC->unk40); + sub_802D7E8(gUnknown_02022CFC->unk3E, gUnknown_02022CFC->unk40); + gUnknown_02022CFC->unkA++; + break; + case 1: + case 4: + if (!sub_802D974()) + { + gUnknown_02022CFC->unk3C = 0; + gUnknown_02022CFC->unkA++; + } + break; + case 2: + case 5: + gUnknown_02022CFC->unk3C++; + if (gMain.newKeys & (A_BUTTON | B_BUTTON) || gUnknown_02022CFC->unk3C > 180) + { + sub_802DA14(); + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (!sub_802DA44()) + { + gUnknown_02022CFC->unk40 = sub_802C880(gUnknown_02022CFC->unk3E, gUnknown_02022CFC->unk40); + if (gUnknown_02022CFC->unk40 && AddBagItem(gUnknown_02022CFC->unk3E, gUnknown_02022CFC->unk40)) + { + if (!CheckBagHasSpace(gUnknown_02022CFC->unk3E, 1)) + { + sub_802D884(gUnknown_02022CFC->unk3E); + gUnknown_02022CFC->unkA = 4; + } + else + { + gUnknown_02022CFC->unkA = 6; + break; + } + } + else + { + sub_802D8FC(gUnknown_02022CFC->unk3E); + gUnknown_02022CFC->unkA = 4; + } + } + break; + case 6: + if (!sub_802DA44()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_802BB84(void) +{ + s8 input; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802D0C8(4); + gUnknown_02022CFC->unkA++; + break; + case 1: + if (!sub_802D0F0()) + gUnknown_02022CFC->unkA++; + break; + case 2: + input = sub_802DA8C(); + switch (input) + { + case MENU_B_PRESSED: + case 1: + gUnknown_02022CFC->unk45 = 1; + sub_802D0C8(6); + gUnknown_02022CFC->unkA++; + break; + case 0: + gUnknown_02022CFC->unk45 = 2; + sub_802D0C8(6); + gUnknown_02022CFC->unkA++; + break; + } + break; + case 3: + if (!sub_802D0F0()) + gUnknown_02022CFC->unkA++; + break; + case 4: + sub_802D0C8(8); + gUnknown_02022CFC->unkA++; + break; + case 5: + if (!sub_802D0F0()) + { + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 6: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802BC60(void) +{ + int var0; + + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802DA14(); + gUnknown_02022CFC->unkA++; + break; + case 1: + if (!sub_802DA44()) + { + sub_802D0C8(7); + gUnknown_02022CFC->unkA++; + } + break; + case 2: + var0 = sub_802D0F0(); + if (!var0) + { + gUnknown_02022CFC->unk3C = var0; + gUnknown_02022CFC->unkA++; + } + break; + case 3: + if (++gUnknown_02022CFC->unk3C > 120) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_02022CFC->unkA++; + } + break; + case 4: + if (!gPaletteFade.active) + { + sub_800AC34(); + gUnknown_02022CFC->unkA++; + } + break; + case 5: + if (!gReceivedRemoteLinkPlayers) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_802BD30(void) +{ + switch (gUnknown_02022CFC->unkA) + { + case 0: + sub_802DA14(); + sub_802DD64(0); + gUnknown_02022CFC->unkA++; + break; + case 1: + if (!sub_802DA44()) + { + gUnknown_02022CFC->unkA++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static void sub_802BD84(u8 taskId) +{ + int i; + s16 *taskData = gTasks[taskId].data; + struct PokemonJump1 *ptr = (struct PokemonJump1 *)GetWordTaskArg(taskId, 14); + + switch (taskData[0]) + { + case 0: + for (i = 0; i < MAX_RFU_PLAYERS; i++) + taskData[i + 2] = 0; + + taskData[0]++; + // fall through + case 1: + sub_802E0AC(&ptr->unk82A8[ptr->unk6]); + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + if (!taskData[i + 2] && sub_802E0D0(i, &ptr->unk82A8[i])) + { + StringCopy(ptr->unk82E4[i].unk1C, gLinkPlayers[i].name); + taskData[i + 2] = 1; + taskData[1]++; + if (taskData[1] == ptr->unk5) + { + sub_802AB20(); + DestroyTask(taskId); + break; + } + } + } + break; + } +} + +static void sub_802BE60(TaskFunc func, u8 taskPriority) +{ + u8 taskId = CreateTask(func, taskPriority); + SetWordTaskArg(taskId, 14, (u32)gUnknown_02022CFC); +} + +static void sub_802BE80(void) +{ + gUnknown_02022CFC->unk4A = 0; + gUnknown_02022CFC->unk14 = 6; + gUnknown_02022CFC->unk34 = 0; + gUnknown_02022CFC->unk1C = 0; + gUnknown_02022CFC->unk36 = 0; + gUnknown_02022CFC->unk10 = 0; +} + +static void sub_802BEA0(void) +{ + gUnknown_02022CFC->unk4A = 0; + gUnknown_02022CFC->unk34 = 0x6FF; + gUnknown_02022CFC->unk14 = 7; + gUnknown_02022CFC->unk36 = 0; + gUnknown_02022CFC->unk10 = 0; + gUnknown_02022CFC->unk51 = 0; + gUnknown_02022CFC->unk50 = 0; + gUnknown_02022CFC->unk20 = 0; + gUnknown_02022CFC->unk4E = 0; + gUnknown_02022CFC->unk6C = 0; + sub_802BF7C(); +} + +static void sub_802BEE4(void) +{ + if (gUnknown_02022CFC->unk46) + { + gUnknown_02022CFC->unk4A++; + gUnknown_02022CFC->unk34 += sub_802BF48(); + if (gUnknown_02022CFC->unk34 >= 0x9FF) + gUnknown_02022CFC->unk34 -= 0x9FF; + + gUnknown_02022CFC->unk18 = gUnknown_02022CFC->unk14; + gUnknown_02022CFC->unk14 = gUnknown_02022CFC->unk34 >> 8; + if (gUnknown_02022CFC->unk14 > 6 && gUnknown_02022CFC->unk18 < 7) + { + gUnknown_02022CFC->unk36++; + sub_802BF7C(); + } + } +} + +static int sub_802BF48(void) +{ + int result; + + if (gUnknown_02022CFC->unk10) + return 0; + + result = gUnknown_02022CFC->unk1C; + if (gUnknown_02022CFC->unk34 <= 0x5FF) + { + gUnknown_02022CFC->unk20 += 80; + result += gUnknown_02022CFC->unk20 >> 8; + } + + return result; +} + +static void sub_802BF7C(void) +{ + int var0; + + gUnknown_02022CFC->unk20 = 0; + if (gUnknown_02022CFC->unk4E) + { + gUnknown_02022CFC->unk4E--; + if (gUnknown_02022CFC->unk6C) + { + if (sub_802C098() % 4 != 0) + { + gUnknown_02022CFC->unk1C = gUnknown_02022CFC->unk28; + } + else + { + if (gUnknown_02022CFC->unk28 > 54) + gUnknown_02022CFC->unk1C = 30; + else + gUnknown_02022CFC->unk1C = 82; + } + } + } + else + { + if (!(gUnknown_02022CFC->unk50 & 8)) + { + gUnknown_02022CFC->unk28 = gUnknown_082FB63C[gUnknown_02022CFC->unk50] + (gUnknown_02022CFC->unk51 * 7); + gUnknown_02022CFC->unk4E = gUnknown_082FB64C[sub_802C098() % ARRAY_COUNT(gUnknown_082FB64C)] + 2; + gUnknown_02022CFC->unk50++; + } + else + { + if (gUnknown_02022CFC->unk50 == 8) + { + if (gUnknown_02022CFC->unk51 < 3) + gUnknown_02022CFC->unk51++; + else + gUnknown_02022CFC->unk6C = 1; + } + + var0 = gUnknown_082FB63C[15 - gUnknown_02022CFC->unk50]; + gUnknown_02022CFC->unk28 = var0 + (gUnknown_02022CFC->unk51 * 7); + if (++gUnknown_02022CFC->unk50 > 15) + { + if (sub_802C098() % 4 == 0) + gUnknown_02022CFC->unk28 -= 5; + + gUnknown_02022CFC->unk50 = 0; + } + } + + gUnknown_02022CFC->unk1C = gUnknown_02022CFC->unk28; + } +} + +static int sub_802C098(void) +{ + // The number 1103515245 comes from the example implementation of rand and srand + gUnknown_02022CFC->unk24 = gUnknown_02022CFC->unk24 * 1103515245 + 24691; + return gUnknown_02022CFC->unk24 >> 16; +} + +static void sub_802C0B8(void) +{ + gUnknown_02022CFC->unk10 = 1; + gUnknown_02022CFC->unk14 = 6; + gUnknown_02022CFC->unk34 = 0x5FF; + sub_802C270(); +} + +static int sub_802C0DC(void) +{ + return gUnknown_02022CFC->unk10; +} + +static void sub_802C0E8(void) +{ + int i; + for (i = 0; i < MAX_RFU_PLAYERS; i++) + gUnknown_02022CFC->unk82E4[i].unk14 = 0; +} + +static void sub_802C114(void) +{ + gUnknown_02022CFC->unk83AC->unk10 = 0; + gUnknown_02022CFC->unk83AC->unk12 = 0; +} + +static bool32 sub_802C130(u16 arg0) +{ + if (gUnknown_02022CFC->unk82E4[gUnknown_02022CFC->unk6].unk10 == arg0) + return TRUE; + else + return FALSE; +} + +static void sub_802C164(void) +{ + gUnknown_02022CFC->unk83AC->unkE = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk83AC->unk12 = gUnknown_02022CFC->unk83AC->unk10; + gUnknown_02022CFC->unk83AC->unk10 = 1; +} + +static void sub_802C18C(void) +{ + gUnknown_02022CFC->unk83AC->unk12 = gUnknown_02022CFC->unk83AC->unk10; + gUnknown_02022CFC->unk83AC->unk10 = 2; + gUnknown_02022CFC->unk83AC->unkE = gUnknown_02022CFC->unk4A; + gUnknown_02022CFC->unk83AC->unk14 = 2; +} + +static void sub_802C1BC(void) +{ + gUnknown_02022CFC->unk83AC->unk12 = gUnknown_02022CFC->unk83AC->unk10; + gUnknown_02022CFC->unk83AC->unk10 = 0; +} + +static void sub_802C1DC(void) +{ + if (gUnknown_02022CFC->unk5C) + { + sub_802DD64(gUnknown_02022CFC->unk78); + gUnknown_02022CFC->unk5C = 0; + if (gUnknown_02022CFC->unk4D) + { + int index = sub_802DCCC(gUnknown_02022CFC->unk71); + PlaySE(gUnknown_082FB654[index - 2]); + gUnknown_02022CFC->unk4D = 0; + } + } + + sub_802DD74(gUnknown_02022CFC->unk74); + sub_802C280(); + sub_802C240(); +} + +static void sub_802C240(void) +{ + if (gUnknown_02022CFC->unk46) + sub_802DC9C(gUnknown_02022CFC->unk14); +} + +static void sub_802C260(void) +{ + gUnknown_02022CFC->unk46 = 0; +} + +static void sub_802C270(void) +{ + gUnknown_02022CFC->unk46 = 1; +} + +static void sub_802C280(void) +{ + int i; + int whichSound = 0; + int numLinkPlayers = gUnknown_02022CFC->unk5; + + for (i = 0; i < numLinkPlayers; i++) + { + switch (gUnknown_02022CFC->unk82E4[i].unk10) + { + case 0: + sub_802DC80(i, 0); + break; + case 1: + if (gUnknown_02022CFC->unk82E4[i].unk12 != 1 || gUnknown_02022CFC->unk82E4[i].unkE != gUnknown_02022CFC->unk9A[i]) + { + if (i == gUnknown_02022CFC->unk6) + gUnknown_02022CFC->unk82E4[i].unk12 = 1; + + whichSound |= 0x1; + gUnknown_02022CFC->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_02022CFC->unk9A[i] = gUnknown_02022CFC->unk82E4[i].unkE; + } + + sub_802C398(i); + break; + case 2: + if (gUnknown_02022CFC->unk82E4[i].unk12 != 2) + { + if (i == gUnknown_02022CFC->unk6) + gUnknown_02022CFC->unk82E4[i].unk12 = 2; + + whichSound |= 0x2; + sub_802DD88(i); + } + break; + } + } + + if (whichSound & 0x2) + PlaySE(SE_RG_NAWAMISS); + else if (whichSound & 0x1) + PlaySE(SE_DANSA); +} + +static void sub_802C398(int multiplayerId) +{ + int var0; + int var1; + struct PokemonJump1_82E4 *player; + + if (gUnknown_02022CFC->unk68) + return; + + player = &gUnknown_02022CFC->unk82E4[multiplayerId]; + if (player->unk4 != 0x7FFFFFFF) + { + player->unk4++; + var0 = player->unk4; + } + else + { + var0 = gUnknown_02022CFC->unk4A - player->unkE; + if (var0 >= 65000) + { + var0 -= 65000; + var0 += gUnknown_02022CFC->unk4A; + } + + player->unk4 = var0; + } + + if (var0 < 4) + return; + + var0 -= 4; + if (var0 < 48) + var1 = gUnknown_082FB65C[player->unkC][var0]; + else + var1 = 0; + + sub_802DC80(multiplayerId, var1); + if (!var1 && multiplayerId == gUnknown_02022CFC->unk6) + sub_802C1BC(); + + player->unk0 = var1; +} + +static void sub_802C43C(void) +{ + if (gUnknown_02022CFC->unk14 == 8 && gUnknown_02022CFC->unk18 == 7) + { + if (gUnknown_02022CFC->unk58 == 0) + { + sub_802C780(); + gUnknown_02022CFC->unk54 = 0; + gUnknown_02022CFC->unk58 = 1; + gUnknown_02022CFC->unk71 = 0; + } + else + { + if (gUnknown_02022CFC->unk54 == 5) + { + gUnknown_02022CFC->unkC++; + sub_802C7A0(gUnknown_02022CFC->unkC); + } + else + { + gUnknown_02022CFC->unkC = 0; + } + + if (gUnknown_02022CFC->unk54 > 1) + { + gUnknown_02022CFC->unk64 = 1; + memcpy(gUnknown_02022CFC->unk86, gUnknown_02022CFC->unk81, sizeof(u8) * MAX_RFU_PLAYERS); + } + + sub_802C780(); + gUnknown_02022CFC->unk54 = 0; + gUnknown_02022CFC->unk58 = 1; + gUnknown_02022CFC->unk71 = 0; + if (gUnknown_02022CFC->unk74 < 9999) + gUnknown_02022CFC->unk74++; + + sub_802C688(10); + sub_802AE14(3); + } + } + + if (gUnknown_02022CFC->unk64 && (sub_802C618() == TRUE || !gUnknown_02022CFC->unk14)) + { + int var0 = sub_802C73C(gUnknown_02022CFC->unk86); + sub_802C688(sub_802C790(var0)); + sub_802AE14(3); + gUnknown_02022CFC->unk64 = 0; + } + + if (gUnknown_02022CFC->unk58) + { + int var1 = sub_802C6B0(); + if (var1 > gUnknown_02022CFC->unk54) + { + gUnknown_02022CFC->unk54 = var1; + memcpy(gUnknown_02022CFC->unk81, gUnknown_02022CFC->unk7C, sizeof(u8) * MAX_RFU_PLAYERS); + } + } +} + +static bool32 sub_802C538(void) +{ + int i; + + if (gUnknown_02022CFC->unk14 == 6 && !gUnknown_02022CFC->unk83AC->unk0) + { + if (gUnknown_02022CFC->unk83AC->unk12 == 1 && sub_802C0DC() == 1) + { + gUnknown_02022CFC->unk83AC->unk14 = 1; + } + else + { + sub_802C18C(); + sub_802AE14(3); + } + } + + if (gUnknown_02022CFC->unk14 == 7 + && gUnknown_02022CFC->unk18 == 6 + && gUnknown_02022CFC->unk83AC->unk10 != 2) + { + gUnknown_02022CFC->unk83AC->unk14 = 1; + sub_802AE14(3); + } + + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk10 == 2) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802C5DC(void) +{ + int i; + int numPlayers = gUnknown_02022CFC->unk5; + int count = 0; + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk14) + count++; + } + + return count == numPlayers; +} + +static bool32 sub_802C618(void) +{ + int i; + for (i = 0; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk14 != 1) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_802C650(void) +{ + int i; + + if (gUnknown_02022CFC->unk45 == 1) + return FALSE; + + for (i = 1; i < gUnknown_02022CFC->unk5; i++) + { + if (gUnknown_02022CFC->unk90[i] == 1) + return FALSE; + } + + return TRUE; +} + +static void sub_802C688(int arg0) +{ + gUnknown_02022CFC->unk78 += arg0; + gUnknown_02022CFC->unk5C = 1; + if (gUnknown_02022CFC->unk78 >= 99990) + gUnknown_02022CFC->unk78 = 99990; +} + +static int sub_802C6B0(void) +{ + int i; + int count = 0; + int numPlayers = gUnknown_02022CFC->unk5; + + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_02022CFC->unk82E4[i].unk0 == -30) + { + gUnknown_02022CFC->unk7C[i] = 1; + count++; + } + else + { + gUnknown_02022CFC->unk7C[i] = 0; + } + } + + return count; +} + +static bool32 sub_802C70C(void) +{ + return !gUnknown_03005000.unk_124.unk_8c2 && !gUnknown_03005000.unk_9e8.unk_232; +} + +static int sub_802C73C(u8 *arg0) +{ + int i; + int flags; + int count; + + for (i = 0, flags = 0, count = 0; i < MAX_RFU_PLAYERS; i++) + { + if (arg0[i]) + { + flags |= 1 << i; + count++; + } + } + + gUnknown_02022CFC->unk71 = flags; + if (flags) + gUnknown_02022CFC->unk4D = 1; + + return count; +} + +static void sub_802C780(void) +{ + gUnknown_02022CFC->unk44 = 0; +} + +static int sub_802C790(int arg0) +{ + return gUnknown_082FB6EC[arg0]; +} + +static void sub_802C7A0(u16 arg0) +{ + if (arg0 > gUnknown_02022CFC->unkE) + gUnknown_02022CFC->unkE = arg0; +} + +static bool32 sub_802C7BC(void) +{ + if (gUnknown_02022CFC->unk78 >= gUnknown_082FB714[0]) + return TRUE; + else + return FALSE; +} + +static u16 sub_802C7E0(void) +{ + u16 lo = sub_802C818(); + u16 hi = sub_802C838(); + return (hi << 12) | (lo & 0xFFF); +} + +static void sub_802C808(u16 arg0, u16 *arg1, u16 *arg2) +{ + *arg2 = arg0 >> 12; + *arg1 = arg0 & 0xFFF; +} + +static u16 sub_802C818(void) +{ + u16 index = Random() % ARRAY_COUNT(gUnknown_082FB704); + return gUnknown_082FB704[index]; +} + +NAKED +static u16 sub_802C838(void) +{ + asm_unified("\n\ + push {r4-r6,lr}\n\ + movs r5, 0\n\ + movs r4, 0\n\ + ldr r3, =gUnknown_02022CFC\n\ + ldr r0, [r3]\n\ + ldr r2, =gUnknown_082FB714\n\ + ldr r1, [r0, 0x78]\n\ + ldr r0, [r2]\n\ + cmp r1, r0\n\ + bcc _0802C874\n\ + ldr r5, [r2, 0x4]\n\ + adds r6, r3, 0\n\ + adds r3, r2, 0x4\n\ +_0802C852:\n\ + adds r3, 0x8\n\ + adds r2, 0x8\n\ + adds r4, 0x1\n\ + cmp r4, 0x4\n\ + bhi _0802C874\n\ + ldr r0, [r6]\n\ + ldr r1, [r0, 0x78]\n\ + ldr r0, [r2]\n\ + cmp r1, r0\n\ + bcc _0802C874\n\ + ldr r5, [r3]\n\ + b _0802C852\n\ + .pool\n\ +_0802C874:\n\ + lsls r0, r5, 16\n\ + lsrs r0, 16\n\ + pop {r4-r6}\n\ + pop {r1}\n\ + bx r1"); +} + +static u16 sub_802C880(u16 item, u16 quantity) +{ + while (quantity && !CheckBagHasSpace(item, quantity)) + quantity--; + + return quantity; +} + +u16 sub_802C8AC(void) +{ + return GetLinkPlayerCount(); +} + +u16 sub_802C8BC(void) +{ + return gUnknown_02022CFC->unk6; +} + +struct PokemonJump1_MonInfo *sub_802C8C8(u8 multiplayerId) +{ + return &gUnknown_02022CFC->unk82A8[multiplayerId]; +} + +u8 *sub_802C8E8(u8 multiplayerId) +{ + return gUnknown_02022CFC->unk82E4[multiplayerId].unk1C; +} + +bool32 sub_802C908(u16 species) +{ + return sub_802AC00(species) > -1; +} + +void sub_802C920(void) +{ + int i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)) + { + u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (sub_802C908(species)) + { + gSpecialVar_Result = 1; + return; + } + } + } + + gSpecialVar_Result = 0; +} + +void sub_802C974(struct PokemonJump2 *arg0) +{ + int i; + + for (i = 0; i < ARRAY_COUNT(gUnknown_082FBE08); i++) + LoadCompressedSpriteSheet(&gUnknown_082FBE08[i]); + + for (i = 0; i < ARRAY_COUNT(gUnknown_082FBE30); i++) + LoadSpritePalette(&gUnknown_082FBE30[i]); + + arg0->unkE = IndexOfSpritePaletteTag(5); + arg0->unkF = IndexOfSpritePaletteTag(6); +} + +static void sub_802C9BC(struct Sprite *sprite) +{ + int i; + for (i = 0; i < 8; i++) + sprite->data[i] = 0; +} + +void sub_802C9D4(struct PokemonJump2 *arg0, struct PokemonJump1_MonInfo *jumpMon, u16 x, u16 y, u8 multiplayerId) +{ + struct SpriteTemplate spriteTemplate; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + u8 *buffer; + u8 *unusedBuffer; + u8 subpriority; + u8 spriteId; + + spriteTemplate = gUnknown_082FBE40; + buffer = Alloc(0x2000); + unusedBuffer = Alloc(0x800); + if (multiplayerId == sub_802C8BC()) + subpriority = 3; + else + subpriority = multiplayerId + 4; + + if (buffer && unusedBuffer) + { + HandleLoadSpecialPokePic( + &gMonStillFrontPicTable[jumpMon->species], + buffer, + jumpMon->species, + jumpMon->personality); + + spriteSheet.data = buffer; + spriteSheet.tag = multiplayerId; + spriteSheet.size = 0x800; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = GetFrontSpritePalFromSpeciesAndPersonality(jumpMon->species, jumpMon->otId, jumpMon->personality); + spritePalette.tag = multiplayerId; + LoadCompressedSpritePalette(&spritePalette); + + Free(buffer); + Free(unusedBuffer); + + spriteTemplate.tileTag += multiplayerId; + spriteTemplate.paletteTag += multiplayerId; + spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); + if (spriteId != MAX_SPRITES) + { + arg0->unk81A8[multiplayerId] = &gSprites[spriteId]; + arg0->unk81FC[multiplayerId] = subpriority; + return; + } + } + + arg0->unk81A8[multiplayerId] = NULL; +} + +void sub_802CB14(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_802C9BC(arg0->unk81BC[multiplayerId]); + arg0->unk81BC[multiplayerId]->data[7] = arg0->unk81A8[multiplayerId] - gSprites; + arg0->unk81BC[multiplayerId]->invisible = 0; + arg0->unk81BC[multiplayerId]->pos1.y = 96; + arg0->unk81BC[multiplayerId]->callback = sub_802CB7C; + StartSpriteAnim(arg0->unk81BC[multiplayerId], 1); +} + +static void sub_802CB7C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (sprite->animEnded) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } + break; + case 1: + sprite->pos1.y--; + sprite->data[1]++; + if (sprite->pos1.y <= 72) + { + sprite->pos1.y = 72; + sprite->data[0]++; + } + break; + case 2: + if (++sprite->data[1] >= 48) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_802CBF0(struct PokemonJump2 *arg0, int multiplayerId) +{ + arg0->unk81A8[multiplayerId]->callback = sub_802CC40; + arg0->unk81A8[multiplayerId]->pos2.y = 0; + sub_802C9BC(arg0->unk81A8[multiplayerId]); +} + +bool32 sub_802CC18(struct PokemonJump2 *arg0, int multiplayerId) +{ + return arg0->unk81A8[multiplayerId]->callback == sub_802CC40; +} + +static void sub_802CC40(struct Sprite *sprite) +{ + if (++sprite->data[1] > 1) + { + if (++sprite->data[2] & 1) + sprite->pos2.y = 2; + else + sprite->pos2.y = -2; + + sprite->data[1] = 0; + } + + if (sprite->data[2] > 12) + { + sprite->pos2.y = 0; + sprite->callback = SpriteCallbackDummy; + } +} + +void sub_802CC88(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_802C9BC(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_802CD08; +} + +void sub_802CCB0(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_802C8AC(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_802CD08) + { + arg0->unk81A8[i]->invisible = 0; + arg0->unk81A8[i]->callback = SpriteCallbackDummy; + arg0->unk81A8[i]->subpriority = 10; + } + } +} + +static void sub_802CD08(struct Sprite *sprite) +{ + if (++sprite->data[0] > 3) + { + sprite->data[0] = 0; + sprite->invisible ^= 1; + } +} + +void sub_802CD3C(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_802C8AC(); + for (i = 0; i < numPlayers; i++) + arg0->unk81A8[i]->subpriority = arg0->unk81FC[i]; +} + +void sub_802CD70(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_802C9BC(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_802CDD4; +} + +bool32 sub_802CD98(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_802C8AC(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_802CDD4) + return TRUE; + } + + return FALSE; +} + +static void sub_802CDD4(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + PlaySE(SE_JITE_PYOKO); + sprite->data[1] = 0; + sprite->data[0]++; + // fall through + case 1: + sprite->data[1] += 4; + if (sprite->data[1] > 0x7F) + sprite->data[1] = 0; + + sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3); + if (sprite->data[1] == 0) + { + if (++sprite->data[2] < 2) + sprite->data[0] = 0; + else + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_802CE48(struct PokemonJump2 *arg0, s16 x, s16 y, u8 multiplayerId) +{ + u8 spriteId = CreateSprite(&gUnknown_082FC00C, x, y, 1); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].invisible = 1; + arg0->unk81BC[multiplayerId] = &gSprites[spriteId]; + } +} + +// void sub_802CE9C(struct PokemonJump2 *arg0) +// { +// int i; +// int count; +// u8 spriteId; + +// count = 0; +// for (i = 0; i < 4; i++) +// { +// spriteId = CreateSprite(&gUnknown_082FBEB8[i], gUnknown_082FBEA8[count], gUnknown_082FBE58[i * 10], 2); +// arg0->unk81D0[count] = &gSprites[spriteId]; +// count++; +// } + +// for (i = 0; i < 4; i++) +// { +// spriteId = CreateSprite(&gUnknown_082FBEB8[i], gUnknown_082FBEA8[count], gUnknown_082FBE58[i * 10], 2); +// arg0->unk81D0[count] = &gSprites[spriteId]; +// arg0->unk81D0[count]->hFlip = 1; +// count++; +// } +// } diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 98d83d8ce..f63e1ccba 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -1,4 +1,5 @@ #include "global.h" +#include "data.h" #include "event_data.h" #include "pokedex.h" #include "pokemon.h" @@ -45,7 +46,6 @@ static const u8 sGiftRibbonsMonDataIds[] = extern const u8 gText_DecimalPoint[]; extern const u8 gText_Marco[]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; #define CM_PER_INCH 2.54 diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index fb1be0698..148be7c5c 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1,7 +1,7 @@ #include "global.h" #include "alloc.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "dma3.h" #include "dynamic_placeholder_text_util.h" @@ -463,8 +463,6 @@ EWRAM_DATA static u8 sMovingMonOrigBoxId = 0; EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0; EWRAM_DATA static bool8 sCanOnlyMove = 0; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; - // This file's functions. static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr); static void Cb2_EnterPSS(u8 boxOption); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3a5b06d45..2ec088628 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -9,7 +9,7 @@ #include "bg.h" #include "contest.h" #include "contest_effect.h" -#include "data2.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "dynamic_placeholder_text_util.h" @@ -164,7 +164,6 @@ static EWRAM_DATA struct PokemonSummaryScreenData EWRAM_DATA u8 gLastViewedMonIndex = 0; static EWRAM_DATA u8 sUnknown_0203CF21 = 0; ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; struct UnkStruct_61CC04 { diff --git a/src/pokenav.c b/src/pokenav.c index 42114a4b2..be3826bed 100644 --- a/src/pokenav.c +++ b/src/pokenav.c @@ -6,500 +6,356 @@ #include "field_weather.h" #include "palette.h" #include "pokemon_storage_system.h" -#include "sound.h" -#include "constants/songs.h" -#include "window.h" -#include "gpu_regs.h" -#include "bg.h" -#include "menu.h" -#include "graphics.h" -#include "dma3.h" -#include "gba/macro.h" -#include "decompress.h" -#include "strings.h" -#include "constants/rgb.h" +#include "pokenav.h" -enum -{ - MODE_NORMAL, // Chosen from Start menu. - MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call. - MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav. -}; - -#define UNKNOWN_OFFSET 100000 +#define LOOPED_TASK_DECODE_STATE(action) (action - 5) -struct UnknownSubStruct_0203CF40 -{ - void (*unk0)(u32); - u32 (*unk4)(void); - u32 unk8; - u32 unkC; - u32 unk10; - u32 unk14; - struct Sprite *unk18; - struct Sprite *unk1C[2]; - struct Sprite *unk24[2]; - u8 tilemapBuffer[0x1000]; -}; +#define LOOPED_TASK_ID(primary, secondary) (((secondary) << 16) |(primary)) +#define LOOPED_TASK_PRIMARY_ID(taskId) (taskId & 0xFFFF) +#define LOOPED_TASK_SECONDARY_ID(taskId) (taskId >> 16) #define SUBSTRUCT_COUNT 19 -struct UnknownStruct_0203CF40 +struct PokenavResources { - u32 (*field0)(void); - u32 field4; + u32 (*currentMenuCb1)(void); + u32 currentMenuIndex; u16 mode; u16 fieldA; bool32 hasAnyRibbons; - struct UnknownSubStruct_0203CF40 *field10[SUBSTRUCT_COUNT]; + void *field10[SUBSTRUCT_COUNT]; +}; + +struct UnknownPokenavCallbackStruct +{ + bool32 (*unk0)(void); + u32 (*unk4)(void); + bool32 (*unk8)(void); + void (*unkC)(int); + u32 (*unk10)(void); + void (*unk14)(void); + void (*unk18)(void); }; -extern u32 sub_81C9430(void); -extern void sub_81CAADC(void); -extern u32 sub_81C99D4(void); -extern void sub_8199D98(void); -extern void sub_81C7D28(void); -extern u32 sub_81C9298(void); -extern u32 sub_81C941C(void); -extern u32 sub_81C9924(void); +extern bool32 sub_81C9924(void); extern u32 sub_81C99C0(void); -extern u32 sub_81C9990(void); -extern u32 sub_81C9940(void); -extern u32 sub_81C9338(void); -extern u32 sub_81C9368(void); -extern u32 sub_81C92CC(void); -extern u32 sub_81C9304(void); -extern u32 sub_81CC4D4(void); -extern u32 sub_81CC554(void); -extern u32 sub_81CC5F4(void); -extern u32 sub_81CC62C(void); -extern u32 sub_81CC65C(void); -extern u32 sub_81CC524(void); -extern u32 sub_81CC670(void); +extern void sub_81C9990(int); +extern bool32 sub_81C9940(void); extern u32 sub_81CCFD8(void); extern u32 sub_81CD070(void); -extern u32 sub_81CDDD4(void); -extern u32 sub_81CDE2C(void); +extern bool32 sub_81CDDD4(void); +extern void sub_81CDE2C(int); extern u32 sub_81CDE64(void); -extern u32 sub_81CD1C0(void); -extern u32 sub_81CECA0(void); +extern void sub_81CD1C0(void); +extern void sub_81CECA0(void); extern u32 sub_81CEF3C(void); extern u32 sub_81CEFDC(void); -extern u32 sub_81CF330(void); -extern u32 sub_81CF3A0(void); +extern bool32 sub_81CF330(void); +extern void sub_81CF3A0(int); extern u32 sub_81CF3D0(void); -extern u32 sub_81CEFF0(void); -extern u32 sub_81CF3F8(void); +extern void sub_81CEFF0(void); +extern void sub_81CF3F8(void); extern u32 sub_81CD024(void); extern u32 sub_81CEF98(void); -extern u32 sub_81CF368(void); -extern u32 sub_81CAAE8(void); -extern u32 sub_81CAB24(void); -extern u32 sub_81CB260(void); -extern u32 sub_81CB29C(void); -extern u32 sub_81CB2CC(void); -extern u32 sub_81CAB38(void); -extern u32 sub_81CB2E0(void); +extern bool32 sub_81CF368(void); extern u32 sub_81CF9BC(void); extern u32 sub_81CFA34(void); -extern u32 sub_81CFDD0(void); -extern u32 sub_81CFE40(void); +extern bool32 sub_81CFDD0(void); +extern void sub_81CFE40(int); extern u32 sub_81CFE70(void); -extern u32 sub_81CFA48(void); -extern u32 sub_81CFE98(void); +extern void sub_81CFA48(void); +extern void sub_81CFE98(void); extern u32 sub_81D0450(void); extern u32 sub_81D04A0(void); -extern u32 sub_81D0978(void); -extern u32 sub_81D09B0(void); +extern bool32 sub_81D0978(void); +extern void sub_81D09B0(int); extern u32 sub_81D09E0(void); -extern u32 sub_81D04B8(void); -extern u32 sub_81D09F4(void); +extern void sub_81D04B8(void); +extern void sub_81D09F4(void); extern u32 sub_81CFA04(void); -extern u32 sub_81CFE08(void); +extern bool32 sub_81CFE08(void); -u32 sub_81C791C(s32 a0); -bool32 sub_81C756C(u32 a0); -bool32 sub_81C76C4(void); +static bool32 SetActivePokenavMenu(u32 menuId); static bool32 AnyMonHasRibbon(void); u32 sub_81C75E0(void); u32 sub_81C75D4(void); -u32 sub_81C76FC(void); -u32 sub_81C786C(void); -u32 sub_81C7764(s32 a0); -u32 sub_81C78D4(s32 a0); -bool32 sub_81C7738(void); -void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 a1, u32 a2); +u32 PokenavMainMenuLoopedTaskIsActive(void); +bool32 WaitForPokenavShutdownFade(void); void sub_81C7834(void *func1, void *func2); -static void InitMainStruct(struct UnknownStruct_0203CF40 *a0); -void FreeSubstruct(u32 index); -void sub_81C7850(u32 a0); -void sub_81C7BF8(u32 a0); -void sub_81C71E4(u8 a0); -void sub_81C7170(u8 taskId); +static void InitPokenavResources(struct PokenavResources *a0); +void Task_RunLoopedTask_LinkMode(u8 a0); +void Task_RunLoopedTask(u8 taskId); void sub_81C742C(u8 taskId); -void sub_81C7710(void); +void ShutdownPokenav(void); static void InitKeys_(void); -static void FreeVars(void); -static void VblankCb_Pokenav(void); +static void FreePokenavResources(void); +static void VBlankCB_Pokenav(void); static void CB2_Pokenav(void); -void sub_81C7C28(void); void sub_81C72BC(void); -void sub_81C7B74(void); -void sub_81C7C94(void); -void sub_81C7F24(u32 arg0); -void sub_81C7E58(u32 arg0); -void sub_81C8110(bool32 arg0); -void sub_81C80D4(bool32 arg0); -void sub_81C803C(u32 arg0, bool32 arg1); -void sub_81C8088(u32 arg0, bool32 arg1); -void sub_81C814C(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3); -void sub_81C817C(struct Sprite *sprite); -// Const rom data. -u32 (*const gUnknown_0861F3EC[15][7])(void) = +const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] = { { - sub_81C9298, - sub_81C941C, - sub_81C9924, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9298, + .unk4 = sub_81C941C, + .unk8 = sub_81C9924, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9298, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9298, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9338, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9338, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9368, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9368, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C92CC, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C92CC, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 =sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81C9304, - sub_81C941C, - sub_81C9940, - sub_81C9990, - sub_81C99C0, - sub_81C9430, - sub_81C99D4, + .unk0 = sub_81C9304, + .unk4 = sub_81C941C, + .unk8 = sub_81C9940, + .unkC = sub_81C9990, + .unk10 = sub_81C99C0, + .unk14 = sub_81C9430, + .unk18 = sub_81C99D4, }, { - sub_81CC4D4, - sub_81CC554, - sub_81CC5F4, - sub_81CC62C, - sub_81CC65C, - sub_81CC524, - sub_81CC670, + .unk0 = sub_81CC4D4, + .unk4 = sub_81CC554, + .unk8 = sub_81CC5F4, + .unkC = sub_81CC62C, + .unk10 = sub_81CC65C, + .unk14 = sub_81CC524, + .unk18 = sub_81CC670, }, { - sub_81CCFD8, - sub_81CD070, - sub_81CDDD4, - sub_81CDE2C, - sub_81CDE64, - sub_81CD1C0, - sub_81CECA0, + .unk0 = sub_81CCFD8, + .unk4 = sub_81CD070, + .unk8 = sub_81CDDD4, + .unkC = sub_81CDE2C, + .unk10 = sub_81CDE64, + .unk14 = sub_81CD1C0, + .unk18 = sub_81CECA0, }, { - sub_81CEF3C, - sub_81CEFDC, - sub_81CF330, - sub_81CF3A0, - sub_81CF3D0, - sub_81CEFF0, - sub_81CF3F8, + .unk0 = sub_81CEF3C, + .unk4 = sub_81CEFDC, + .unk8 = sub_81CF330, + .unkC = sub_81CF3A0, + .unk10 = sub_81CF3D0, + .unk14 = sub_81CEFF0, + .unk18 = sub_81CF3F8, }, { - sub_81CD024, - sub_81CD070, - sub_81CDDD4, - sub_81CDE2C, - sub_81CDE64, - sub_81CD1C0, - sub_81CECA0, + .unk0 = sub_81CD024, + .unk4 = sub_81CD070, + .unk8 = sub_81CDDD4, + .unkC = sub_81CDE2C, + .unk10 = sub_81CDE64, + .unk14 = sub_81CD1C0, + .unk18 = sub_81CECA0, }, { - sub_81CEF98, - sub_81CEFDC, - sub_81CF368, - sub_81CF3A0, - sub_81CF3D0, - sub_81CEFF0, - sub_81CF3F8, + .unk0 = sub_81CEF98, + .unk4 = sub_81CEFDC, + .unk8 = sub_81CF368, + .unkC = sub_81CF3A0, + .unk10 = sub_81CF3D0, + .unk14 = sub_81CEFF0, + .unk18 = sub_81CF3F8, }, { - sub_81CAAE8, - sub_81CAB24, - sub_81CB260, - sub_81CB29C, - sub_81CB2CC, - sub_81CAB38, - sub_81CB2E0, + .unk0 = sub_81CAAE8, + .unk4 = sub_81CAB24, + .unk8 = sub_81CB260, + .unkC = sub_81CB29C, + .unk10 = sub_81CB2CC, + .unk14 = sub_81CAB38, + .unk18 = sub_81CB2E0, }, { - sub_81CF9BC, - sub_81CFA34, - sub_81CFDD0, - sub_81CFE40, - sub_81CFE70, - sub_81CFA48, - sub_81CFE98, - }, - { - sub_81D0450, - sub_81D04A0, - sub_81D0978, - sub_81D09B0, - sub_81D09E0, - sub_81D04B8, - sub_81D09F4, - }, - { - sub_81CFA04, - sub_81CFA34, - sub_81CFE08, - sub_81CFE40, - sub_81CFE70, - sub_81CFA48, - sub_81CFE98, - }, -}; - -const u16 gUnknown_0861F590[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); -const u32 gUnknown_0861F5B0[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); -const u32 gUnknown_0861F994[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); - -const struct BgTemplate gUnknown_0861FA04[] = -{ - { - .bg = 0, - .charBaseIndex = 0, - .mapBaseIndex = 5, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0, - } -}; - -const struct WindowTemplate gUnknown_0861FA08[2] = -{ - { - .bg = 0, - .tilemapLeft = 1, - .tilemapTop = 22, - .width = 16, - .height = 2, - .paletteNum = 0, - .baseBlock = 0x36, + .unk0 = sub_81CF9BC, + .unk4 = sub_81CFA34, + .unk8 = sub_81CFDD0, + .unkC = sub_81CFE40, + .unk10 = sub_81CFE70, + .unk14 = sub_81CFA48, + .unk18 = sub_81CFE98, }, { - .bg = 0xFF, - .tilemapLeft = 0, - .tilemapTop = 0, - .width = 0, - .height = 0, - .paletteNum = 0, - .baseBlock = 0, + .unk0 = sub_81D0450, + .unk4 = sub_81D04A0, + .unk8 = sub_81D0978, + .unkC = sub_81D09B0, + .unk10 = sub_81D09E0, + .unk14 = sub_81D04B8, + .unk18 = sub_81D09F4, }, -}; - -const u8 *const (sMenuButtonReminders[12]) = -{ - gText_Navgear_ClearButtonList, - gText_NavgearMap_ZoomedOutButtons, - gText_NavgearMap_ZoomedInButtons, - gText_NavgearCondition_MonListButtons, - gText_NavgearCondition_MonStatusButtons, - gText_NavgearCondition_MarkingButtons, - gText_NavgearMatchCall_TrainerListButtons, - gText_NavgearMatchCall_CallMenuButtons, - gText_NavgearMatchCall_CheckTrainerButtons, - gText_NavgearRibbons_MonListButtons, - gText_NavgearRibbons_RibbonListButtons, - gText_NavgearRibbons_RibbonCheckButtons, -}; - -const u8 gMenuButtonReminderColor[4] = -{ - 4, 1, 2, 0 -}; - -const struct CompressedSpriteSheet gUnknown_0861FA4C[] = -{ - { - .data = gUnknown_0861F5B0, - .size = 0x1000, - .tag = 0, - } -}; - -const struct SpritePalette gUnknown_0861FA54[2] = -{ { - .data = gUnknown_0861F590, - .tag = 0, + .unk0 = sub_81CFA04, + .unk4 = sub_81CFA34, + .unk8 = sub_81CFE08, + .unkC = sub_81CFE40, + .unk10 = sub_81CFE70, + .unk14 = sub_81CFA48, + .unk18 = sub_81CFE98, }, }; -const struct CompressedSpriteSheet gUnknown_0861FA64 = -{ - .data = gPokenavLeftHeaderHoennMap_Gfx, - .size = 0xC00, - .tag = 2 -}; - -extern struct UnknownStruct_0203CF40 *gUnknown_0203CF40; -extern u8 gUnknown_0203CF3C; -extern const struct SpriteTemplate gUnknown_0861FB04; +EWRAM_DATA u8 gNextLoopedTaskId = 0; +EWRAM_DATA struct PokenavResources *gPokenavResources = NULL; // code -u32 sub_81C7078(u32 (*func)(s32), u32 priority) +u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority) { u16 taskId; if (!IsUpdateLinkStateCBActive()) - taskId = CreateTask(sub_81C7170, priority); + taskId = CreateTask(Task_RunLoopedTask, priority); else - taskId = CreateTask(sub_81C71E4, priority); + taskId = CreateTask(Task_RunLoopedTask_LinkMode, priority); - SetWordTaskArg(taskId, 1, (u32)func); + SetWordTaskArg(taskId, 1, (u32)loopedTask); - gTasks[taskId].data[3] = gUnknown_0203CF3C; - return ((gUnknown_0203CF3C++) << 16) | taskId; + gTasks[taskId].data[3] = gNextLoopedTaskId; + return LOOPED_TASK_ID(taskId, gNextLoopedTaskId++); } -bool32 sub_81C70D8(u32 a0) +bool32 IsLoopedTaskActive(u32 taskId) { - u32 taskId = a0 & 0xFFFF; - u32 v2 = a0 >> 16; + u32 primaryId = LOOPED_TASK_PRIMARY_ID(taskId); + u32 secondaryId = LOOPED_TASK_SECONDARY_ID(taskId); - if (gTasks[taskId].isActive - && (gTasks[taskId].func == sub_81C7170 || gTasks[taskId].func == sub_81C71E4) - && gTasks[taskId].data[3] == v2) + if (gTasks[primaryId].isActive + && (gTasks[primaryId].func == Task_RunLoopedTask || gTasks[primaryId].func == Task_RunLoopedTask_LinkMode) + && gTasks[primaryId].data[3] == secondaryId) return TRUE; else return FALSE; } -bool32 sub_81C7124(u32 a0) +bool32 FuncIsActiveLoopedTask(LoopedTask func) { - s32 i; + int i; for (i = 0; i < NUM_TASKS; i++) { if (gTasks[i].isActive - && (gTasks[i].func == sub_81C7170 || gTasks[i].func == sub_81C71E4) - && GetWordTaskArg(i, 1) == a0) + && (gTasks[i].func == Task_RunLoopedTask || gTasks[i].func == Task_RunLoopedTask_LinkMode) + && (LoopedTask)GetWordTaskArg(i, 1) == func) return TRUE; } return FALSE; } -void sub_81C7170(u8 taskId) +void Task_RunLoopedTask(u8 taskId) { - u32 (*func)(s32) = (void *)GetWordTaskArg(taskId, 1); - s16 *data = gTasks[taskId].data; + LoopedTask loopedTask = (LoopedTask)GetWordTaskArg(taskId, 1); + s16 *state = &gTasks[taskId].data[0]; bool32 exitLoop = FALSE; while (!exitLoop) { - u32 var = func(data[0]); - switch (var) + u32 action = loopedTask(*state); + switch (action) { - case 1: - data[0] = data[0] + 1; + case LT_INC_AND_CONTINUE: + (*state)++; break; - case 0: - data[0]++; + case LT_INC_AND_PAUSE: + (*state)++; return; - case 4: + case LT_FINISH: DestroyTask(taskId); return; + // case LT_SET_STATE: default: - data[0] = var - 5; + *state = LOOPED_TASK_DECODE_STATE(action); break; - case 3: + case LT_CONTINUE: break; - case 2: + case LT_PAUSE: return; } } } -void sub_81C71E4(u8 taskId) +// Every "Continue" action pauses instead. +void Task_RunLoopedTask_LinkMode(u8 taskId) { - u32 (*func)(u32); - s16 *data; - u32 v1; + LoopedTask task; + s16 *state; + u32 action; if (sub_8087598()) return; - func = (u32 (*)(u32))GetWordTaskArg(taskId, 1); - data = gTasks[taskId].data; - v1 = func(data[0]); - switch (v1) - { - case 0: - case 1: - data[0]++; + + task = (LoopedTask)GetWordTaskArg(taskId, 1); + state = &gTasks[taskId].data[0]; + action = task(*state); + switch (action) + { + case LT_INC_AND_PAUSE: + case LT_INC_AND_CONTINUE: + (*state)++; break; - case 4: + case LT_FINISH: DestroyTask(taskId); break; + // case: LT_SET_STATE: default: - data[0] = v1 - 5; + *state = LOOPED_TASK_DECODE_STATE(action); break; - case 2: - case 3: + case LT_PAUSE: + case LT_CONTINUE: break; } } void CB2_InitPokeNav(void) { - gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40)); - if (gUnknown_0203CF40 == NULL) + gPokenavResources = Alloc(sizeof(*gPokenavResources)); + if (gPokenavResources == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); } else { - InitMainStruct(gUnknown_0203CF40); + InitPokenavResources(gPokenavResources); ResetTasks(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); SetMainCallback2(CB2_Pokenav); - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } } @@ -515,53 +371,52 @@ void sub_81C72BC(void) if (gPaletteFade.active) return; - gUnknown_0203CF40 = Alloc(sizeof(*gUnknown_0203CF40)); - if (gUnknown_0203CF40 == NULL) + gPokenavResources = Alloc(sizeof(*gPokenavResources)); + if (gPokenavResources == NULL) { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } else { - InitMainStruct(gUnknown_0203CF40); - gUnknown_0203CF40->mode = MODE_FORCE_CALL_1; + InitPokenavResources(gPokenavResources); + gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_1; ResetTasks(); ResetSpriteData(); FreeAllSpritePalettes(); SetVBlankCallback(NULL); CreateTask(sub_81C742C, 0); SetMainCallback2(CB2_Pokenav); - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } } -static void FreeVars(void) +static void FreePokenavResources(void) { - s32 i; + int i; for (i = 0; i < SUBSTRUCT_COUNT; i++) - FreeSubstruct(i); + FreePokenavSubstruct(i); - FREE_AND_SET_NULL(gUnknown_0203CF40); + FREE_AND_SET_NULL(gPokenavResources); InitKeys(); } -// Clears UnknownStruct_0203CF40 -static void InitMainStruct(struct UnknownStruct_0203CF40 *a0) +static void InitPokenavResources(struct PokenavResources *a0) { - s32 i; + int i; for (i = 0; i < SUBSTRUCT_COUNT; i++) a0->field10[i] = NULL; - a0->mode = MODE_NORMAL; - a0->field4 = 0; + a0->mode = POKENAV_MODE_NORMAL; + a0->currentMenuIndex = 0; a0->hasAnyRibbons = AnyMonHasRibbon(); - a0->field0 = NULL; + a0->currentMenuCb1 = NULL; } static bool32 AnyMonHasRibbon(void) { - s32 i, j; + int i, j; for (i = 0; i < PARTY_SIZE; i++) { @@ -596,7 +451,7 @@ static void CB2_Pokenav(void) UpdatePaletteFade(); } -static void VblankCb_Pokenav(void) +static void VBlankCB_Pokenav(void) { TransferPlttBuffer(); LoadOam(); @@ -611,13 +466,14 @@ void sub_81C742C(u8 taskId) switch (data[0]) { case 0: - sub_81C76C4(); + InitPokenavMainMenu(); data[0] = 1; break; case 1: - if (sub_81C76FC()) + // Wait for LoopedTask_InitPokenavMenu to finish + if (PokenavMainMenuLoopedTaskIsActive()) break; - sub_81C756C(UNKNOWN_OFFSET); + SetActivePokenavMenu(POKENAV_MENU_0); data[0] = 4; break; case 2: @@ -628,20 +484,20 @@ void sub_81C742C(u8 taskId) v1 = sub_81C75E0(); if (v1 == -1) { - sub_81C7710(); + ShutdownPokenav(); data[0] = 5; } - else if (v1 >= UNKNOWN_OFFSET) + else if (v1 >= POKENAV_MENU_IDS_START) { - gUnknown_0861F3EC[gUnknown_0203CF40->field4][6](); - gUnknown_0861F3EC[gUnknown_0203CF40->field4][5](); - if (sub_81C756C(v1)) + PokenavMenuCallbacks[gPokenavResources->currentMenuIndex].unk18(); + PokenavMenuCallbacks[gPokenavResources->currentMenuIndex].unk14(); + if (SetActivePokenavMenu(v1)) { data[0] = 4; } else { - sub_81C7710(); + ShutdownPokenav(); data[0] = 5; } } @@ -657,12 +513,12 @@ void sub_81C742C(u8 taskId) data[0] = 3; break; case 5: - if (!sub_81C7738()) + if (!WaitForPokenavShutdownFade()) { - bool32 calledFromScript = (gUnknown_0203CF40->mode != MODE_NORMAL); + bool32 calledFromScript = (gPokenavResources->mode != POKENAV_MODE_NORMAL); sub_81C9430(); - FreeVars(); + FreePokenavResources(); if (calledFromScript) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else @@ -672,19 +528,19 @@ void sub_81C742C(u8 taskId) } } -bool32 sub_81C756C(u32 a0) +static bool32 SetActivePokenavMenu(u32 menuId) { - u32 index = a0 - UNKNOWN_OFFSET; + u32 index = menuId - POKENAV_MENU_IDS_START; InitKeys_(); - if (!gUnknown_0861F3EC[index][0]()) + if (!PokenavMenuCallbacks[index].unk0()) return FALSE; - if (!gUnknown_0861F3EC[index][2]()) + if (!PokenavMenuCallbacks[index].unk8()) return FALSE; - sub_81C7834(gUnknown_0861F3EC[index][3], gUnknown_0861F3EC[index][4]); - gUnknown_0203CF40->field0 = gUnknown_0861F3EC[index][1]; - gUnknown_0203CF40->field4 = index; + sub_81C7834(PokenavMenuCallbacks[index].unkC, PokenavMenuCallbacks[index].unk10); + gPokenavResources->currentMenuCb1 = PokenavMenuCallbacks[index].unk4; + gPokenavResources->currentMenuIndex = index; return TRUE; } @@ -695,7 +551,7 @@ u32 sub_81C75D4(void) u32 sub_81C75E0(void) { - return gUnknown_0203CF40->field0(); + return gPokenavResources->currentMenuCb1(); } static void InitKeys_(void) @@ -710,33 +566,34 @@ void SetVBlankCallback_(IntrCallback callback) void SetPokenavVBlankCallback(void) { - SetVBlankCallback(VblankCb_Pokenav); + SetVBlankCallback(VBlankCB_Pokenav); } void *AllocSubstruct(u32 index, u32 size) { - return gUnknown_0203CF40->field10[index] = Alloc(size); + gPokenavResources->field10[index] = Alloc(size); + return gPokenavResources->field10[index]; } -struct UnknownSubStruct_0203CF40 *GetSubstructPtr(u32 index) +void *GetSubstructPtr(u32 index) { - return gUnknown_0203CF40->field10[index]; + return gPokenavResources->field10[index]; } -void FreeSubstruct(u32 index) +void FreePokenavSubstruct(u32 index) { - if (gUnknown_0203CF40->field10[index] != NULL) - FREE_AND_SET_NULL(gUnknown_0203CF40->field10[index]); + if (gPokenavResources->field10[index] != NULL) + FREE_AND_SET_NULL(gPokenavResources->field10[index]); } -u16 GetPokenavMode(void) +u32 GetPokenavMode(void) { - return gUnknown_0203CF40->mode; + return gPokenavResources->mode; } void SetPokenavMode(u16 mode) { - gUnknown_0203CF40->mode = mode; + gPokenavResources->mode = mode; } void sub_81C7694(u32 a0) @@ -745,689 +602,15 @@ void sub_81C7694(u32 a0) if (value > 4) value = 0; - gUnknown_0203CF40->fieldA = value; + gPokenavResources->fieldA = value; } u16 sub_81C76AC(void) { - return gUnknown_0203CF40->fieldA; + return gPokenavResources->fieldA; } bool32 CanViewRibbonsMenu(void) { - return gUnknown_0203CF40->hasAnyRibbons; -} - -bool32 sub_81C76C4(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = AllocSubstruct(0, 0x82C); - if (structPtr == NULL) - return FALSE; - - ResetSpriteData(); - FreeAllSpritePalettes(); - structPtr->unkC = sub_81C7078(sub_81C7764, 1); - return TRUE; -} - -u32 sub_81C76FC(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return sub_81C70D8(structPtr->unkC); -} - -void sub_81C7710(void) -{ - PlaySE(SE_PN_OFF); - sub_81CAADC(); - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); -} - -bool32 sub_81C7738(void) -{ - if (!gPaletteFade.active) - { - sub_81C99D4(); - sub_81C7C94(); - FreeAllWindowBuffers(); - return FALSE; - } - - return TRUE; -} - -u32 sub_81C7764(s32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr; - - switch (a0) - { - case 0: - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - FreeAllWindowBuffers(); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0861FA04, ARRAY_COUNT(gUnknown_0861FA04)); - sub_8199D98(); - reset_temp_tile_data_buffers(); - return 1; - case 1: - structPtr = GetSubstructPtr(0); - decompress_and_copy_tile_data_to_vram(0, &gPokenavHeader_Gfx, 0, 0, 0); - SetBgTilemapBuffer(0, structPtr->tilemapBuffer); - CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); - CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); - CopyBgTilemapBufferToVram(0); - return 0; - case 2: - if (free_temp_tile_data_buffers_if_possible()) - return 2; - - sub_81C7B74(); - return 0; - case 3: - if (IsDma3ManagerBusyWithBgCopy()) - return 2; - - sub_81C7C28(); - sub_81C7D28(); - ShowBg(0); - return 4; - default: - return 4; - } -} - -void sub_81C7834(void *func1, void *func2) // Fix types later. -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unk0 = func1; - structPtr->unk4 = func2; - structPtr->unk8 = 0; -} - -void sub_81C7850(u32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unk8 = 0; - structPtr->unk0(a0); -} - -u32 sub_81C786C(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return structPtr->unk4(); -} - -void sub_81C7880(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unkC = sub_81C7078(sub_81C78D4, 4); -} - -void sub_81C78A0(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - structPtr->unkC = sub_81C7078(sub_81C791C, 4); -} - -bool32 sub_81C78C0(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - return sub_81C70D8(structPtr->unkC); -} - -u32 sub_81C78D4(s32 a0) -{ - switch (a0) - { - default: - return 4; - case 1: - return 0; - case 0: - return 0; - case 2: - if (ChangeBgY(0, 384, 1) >= 0x2000u) - { - ChangeBgY(0, 0x2000, 0); - return 4; - } - - return 2; - } -} - -u32 sub_81C791C(s32 a0) -{ - if (ChangeBgY(0, 384, 2) <= 0) - { - ChangeBgY(0, 0, 0); - return 4; - } - return 2; -} - -void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size) -{ - CpuCopy16(palette, gPlttBufferUnfaded + bufferOffset, size); -} - -void sub_81C795C(const struct SpritePalette *palettes) -{ - const struct SpritePalette *current; - u32 index; - - for (current = palettes; current->data != NULL; current++) - { - index = AllocSpritePalette(current->tag); - if (index == 0xFF) - { - break; - } - else - { - index = (index * 16) + 0x100; - CopyPaletteIntoBufferUnfaded(current->data, index, 0x20); - } - } -} - -void sub_81C7990(u32 a0, u16 a1) -{ - CpuFill16(a1, gPlttBufferFaded + 0x100 + (a0 * 16), 16 * sizeof(u16)); -} - -__attribute__((naked)) -void sub_81C79BC(u16 *a0, u16 *a1, u32 a2, u32 a3, u32 a4, u32 a5) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0xC\n\ - str r0, [sp]\n\ - str r1, [sp, 0x4]\n\ - mov r10, r2\n\ - str r3, [sp, 0x8]\n\ - ldr r0, [sp, 0x2C]\n\ - cmp r0, 0\n\ - bne _081C79E4\n\ - ldr r2, =0x001fffff\n\ - mov r1, r10\n\ - ands r2, r1\n\ - ldr r0, [sp]\n\ - b _081C79F4\n\ - .pool\n\ -_081C79E4:\n\ - ldr r2, [sp, 0x2C]\n\ - ldr r0, [sp, 0x8]\n\ - cmp r2, r0\n\ - blt _081C7A00\n\ - ldr r2, =0x001fffff\n\ - mov r1, r10\n\ - ands r2, r1\n\ - ldr r0, [sp, 0x4]\n\ -_081C79F4:\n\ - ldr r1, [sp, 0x30]\n\ - bl CpuSet\n\ - b _081C7AAE\n\ - .pool\n\ -_081C7A00:\n\ - movs r2, 0x1\n\ - negs r2, r2\n\ - add r10, r2\n\ - b _081C7AA6\n\ -_081C7A08:\n\ - ldr r1, [sp]\n\ - ldrh r0, [r1]\n\ - movs r2, 0x1F\n\ - mov r9, r2\n\ - mov r1, r9\n\ - ands r1, r0\n\ - mov r9, r1\n\ - lsls r0, 16\n\ - lsrs r2, r0, 21\n\ - movs r1, 0x1F\n\ - ands r1, r2\n\ - mov r8, r1\n\ - lsrs r7, r0, 26\n\ - movs r2, 0x1F\n\ - ands r7, r2\n\ - ldr r0, [sp, 0x4]\n\ - ldrh r4, [r0]\n\ - movs r0, 0x1F\n\ - ands r0, r4\n\ - mov r1, r9\n\ - subs r0, r1\n\ - lsls r0, 8\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r2, [sp, 0x2C]\n\ - adds r6, r0, 0\n\ - muls r6, r2\n\ - asrs r6, 8\n\ - lsls r4, 16\n\ - lsrs r0, r4, 21\n\ - movs r1, 0x1F\n\ - ands r0, r1\n\ - mov r2, r8\n\ - subs r0, r2\n\ - lsls r0, 8\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r1, [sp, 0x2C]\n\ - adds r5, r0, 0\n\ - muls r5, r1\n\ - asrs r5, 8\n\ - lsrs r4, 26\n\ - movs r2, 0x1F\n\ - ands r4, r2\n\ - subs r4, r7\n\ - lsls r4, 8\n\ - adds r0, r4, 0\n\ - ldr r1, [sp, 0x8]\n\ - bl __divsi3\n\ - ldr r1, [sp, 0x2C]\n\ - muls r0, r1\n\ - asrs r0, 8\n\ - add r6, r9\n\ - movs r2, 0x1F\n\ - ands r6, r2\n\ - add r5, r8\n\ - ands r5, r2\n\ - adds r0, r7, r0\n\ - ands r0, r2\n\ - lsls r0, 10\n\ - lsls r5, 5\n\ - orrs r0, r5\n\ - orrs r0, r6\n\ - ldr r1, [sp, 0x30]\n\ - strh r0, [r1]\n\ - ldr r2, [sp]\n\ - adds r2, 0x2\n\ - str r2, [sp]\n\ - ldr r0, [sp, 0x4]\n\ - adds r0, 0x2\n\ - str r0, [sp, 0x4]\n\ - adds r1, 0x2\n\ - str r1, [sp, 0x30]\n\ - movs r1, 0x1\n\ - negs r1, r1\n\ - add r10, r1\n\ -_081C7AA6:\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - cmp r10, r0\n\ - bne _081C7A08\n\ -_081C7AAE:\n\ - add sp, 0xC\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided"); -} - -void sub_81C7AC0(s32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - switch (a0) - { - case 0: - BeginNormalPaletteFade(structPtr->unk14, -2, 0, 16, RGB_BLACK); - break; - case 1: - BeginNormalPaletteFade(structPtr->unk14, -2, 16, 0, RGB_BLACK); - break; - case 2: - BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); - break; - case 3: - BeginNormalPaletteFade(0xFFFFFFFF, -2, 16, 0, RGB_BLACK); - break; - } -} - -bool32 IsPaletteFadeActive(void) -{ - return gPaletteFade.active; -} - -void sub_81C7B40(void) -{ - BlendPalettes(0xFFFEFFFE, 16, RGB_BLACK); -} - -void InitBgTemplates(const struct BgTemplate *templates, s32 count) -{ - s32 i; - - for (i = 0; i < count; i++) - InitBgFromTemplate(templates++); -} - -void sub_81C7B74(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - InitWindows(&gUnknown_0861FA08[0]); - structPtr->unk10 = 0; - sub_81C7BF8(structPtr->unk10); - PutWindowTilemap(structPtr->unk10); - CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here. -} - -void sub_81C7BA4(u32 a0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - sub_81C7BF8(structPtr->unk10); - AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sMenuButtonReminders[a0]); -} - -bool32 IsDma3ManagerBusyWithBgCopy_(void) -{ - return IsDma3ManagerBusyWithBgCopy(); -} - -void sub_81C7BF8(u32 windowId) -{ - FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); - FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); -} - -void sub_81C7C28(void) -{ - s32 i; - u8 spriteId; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - for (i = 0; i < ARRAY_COUNT(gUnknown_0861FA4C); i++) - LoadCompressedSpriteSheet(&gUnknown_0861FA4C[i]); - - sub_81C795C(gUnknown_0861FA54); - structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); - spriteId = CreateSprite(&gUnknown_0861FB04, 220, 12, 0); - structPtr->unk18 = &gSprites[spriteId]; -} - -void sub_81C7C94(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - DestroySprite(structPtr->unk18); - FreeSpriteTilesByTag(0); - FreeSpritePaletteByTag(0); -} - -void sub_81C7CB4(struct Sprite *sprite) -{ - sprite->pos2.y = (GetBgY(0) / 256u) * -1; -} - -struct Sprite *sub_81C7CCC(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - structPtr->unk18->callback = SpriteCallbackDummy; - return structPtr->unk18; -} - -void sub_81C7CE4(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - structPtr->unk18->pos1.x = 220; - structPtr->unk18->pos1.y = 12; - structPtr->unk18->callback = sub_81C7CB4; - structPtr->unk18->invisible = FALSE; - structPtr->unk18->oam.priority = 0; - structPtr->unk18->subpriority = 0; -} - -extern const struct SpriteTemplate gUnknown_0861FB2C; -extern const struct SpriteTemplate gUnknown_0861FB44; -extern const struct CompressedSpriteSheet gUnknown_0861FA6C[]; - -void sub_81C7D28(void) -{ - s32 i, spriteId; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - LoadCompressedSpriteSheet(&gUnknown_0861FA64); - AllocSpritePalette(1); - AllocSpritePalette(2); - for (i = 0; i < 2; i++) - { - spriteId = CreateSprite(&gUnknown_0861FB2C, 0, 0, 1); - structPtr->unk1C[i] = &gSprites[spriteId]; - structPtr->unk1C[i]->invisible = TRUE; - structPtr->unk1C[i]->pos2.x = i * 64; - - spriteId = CreateSprite(&gUnknown_0861FB44, 0, 0, 2); - structPtr->unk24[i] = &gSprites[spriteId]; - structPtr->unk24[i]->invisible = TRUE; - structPtr->unk24[i]->pos2.x = i * 32; - structPtr->unk24[i]->pos2.y = 18; - structPtr->unk24[i]->oam.tileNum += (i * 8) + 64; - } -} - -void sub_81C7DFC(u32 arg0) -{ - if (arg0 < 6) - sub_81C7E58(arg0); - else - sub_81C7F24(arg0 - 6); -} - -void sub_81C7E14(u32 arg0) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (arg0 == 4) - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; - else - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; -} - -void sub_81C7E58(u32 arg0) -{ - struct UnknownSubStruct_0203CF40 *structPtr; - u32 size, tag; - - if (arg0 >= 6) - return; - - structPtr = GetSubstructPtr(0); - tag = gUnknown_0861FA6C[arg0].tag; - size = GetDecompressedDataSize(gUnknown_0861FA6C[arg0].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); - LZ77UnCompWram(gUnknown_0861FA6C[arg0].data, gDecompressionBuffer); - RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); - structPtr->unk1C[1]->oam.tileNum = GetSpriteTileStartByTag(2) + gUnknown_0861FA6C[arg0].size; - - if (arg0 == 4 || arg0 == 5) - structPtr->unk1C[1]->pos2.x = 56; - else - structPtr->unk1C[1]->pos2.x = 64; -} - -// Needed to match u32/u16 tag field difference. -struct CompressedSpritePalette_ -{ - const u32 *data; // LZ77 compressed palette data - u32 tag; -}; - -extern const struct CompressedSpritePalette_ gUnknown_0861FA9C[]; - -void sub_81C7F24(u32 arg0) -{ - u32 size, tag; - - if (arg0 >= 7) - return; - - tag = gUnknown_0861FA9C[arg0].tag; - size = GetDecompressedDataSize(gUnknown_0861FA9C[arg0].data); - LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); - LZ77UnCompWram(gUnknown_0861FA9C[arg0].data, &gDecompressionBuffer[0x1000]); - RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); -} - -void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2) -{ - u32 var; - - if (!arg1) - var = 0x30; - else - var = 0x10; - - if (arg0 < 6) - sub_81C803C(var, arg2); - else - sub_81C8088(var, arg2); -} - -void sub_81C7FC4(u32 arg0, bool32 arg1) -{ - if (arg0 < 6) - sub_81C80D4(arg1); - else - sub_81C8110(arg1); -} - -void sub_81C7FDC(void) -{ - s32 i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - for (i = 0; i < 2; i++) - { - structPtr->unk1C[i]->invisible = TRUE; - structPtr->unk24[i]->invisible = TRUE; - } -} - -bool32 sub_81C8010(void) -{ - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (structPtr->unk1C[0]->callback == SpriteCallbackDummy && structPtr->unk24[0]->callback == SpriteCallbackDummy) - return FALSE; - else - return TRUE; -} - -void sub_81C803C(u32 arg0, bool32 arg1) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg1) - var1 = -96, var2 = 32; - else - var1 = 256, var2 = 160; - - for (i = 0; i < 2; i++) - { - structPtr->unk1C[i]->pos1.y = arg0; - sub_81C814C(structPtr->unk1C[i], var1, var2, 12); - } -} - -void sub_81C8088(u32 arg0, bool32 arg1) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg1) - var1 = -96, var2 = 16; - else - var1 = 256, var2 = 192; - - for (i = 0; i < 2; i++) - { - structPtr->unk24[i]->pos1.y = arg0; - sub_81C814C(structPtr->unk24[i], var1, var2, 12); - } -} - -void sub_81C80D4(bool32 arg0) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg0) - var1 = 32, var2 = -96; - else - var1 = 192, var2 = 256; - - for (i = 0; i < 2; i++) - { - sub_81C814C(structPtr->unk1C[i], var1, var2, 12); - } -} - -void sub_81C8110(bool32 arg0) -{ - s32 var1, var2, i; - struct UnknownSubStruct_0203CF40 *structPtr = GetSubstructPtr(0); - - if (!arg0) - var1 = 16, var2 = -96; - else - var1 = 192, var2 = 256; - - for (i = 0; i < 2; i++) - { - sub_81C814C(structPtr->unk24[i], var1, var2, 12); - } -} - -void sub_81C814C(struct Sprite *sprite, s32 arg1, s32 arg2, s32 arg3) -{ - sprite->pos1.x = arg1; - sprite->data[0] = arg1 * 16; - sprite->data[1] = (arg2 - arg1) * 16 / arg3; - sprite->data[2] = arg3; - sprite->data[7] = arg2; - sprite->callback = sub_81C817C; -} - -void sub_81C817C(struct Sprite *sprite) -{ - if (sprite->data[2] != 0) - { - sprite->data[2]--; - sprite->data[0] += sprite->data[1]; - sprite->pos1.x = sprite->data[0] >> 4; - if (sprite->pos1.x < -16 || sprite->pos1.x > 256) - sprite->invisible = TRUE; - else - sprite->invisible = FALSE; - } - else - { - sprite->pos1.x = sprite->data[7]; - sprite->callback = SpriteCallbackDummy; - } -} - -/* -bool32 sub_81C81D4(const void *arg0, void *arg1, s32 arg3) -{ - struct UnknownSubStruct_0203CF40 *structPtr = AllocSubstruct(0x11, 0x8A4); - - if (structPtr == NULL) - return FALSE; + return gPokenavResources->hasAnyRibbons; } -*/ diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c new file mode 100644 index 000000000..94dab60bb --- /dev/null +++ b/src/pokenav_main_menu.c @@ -0,0 +1,975 @@ +#include "global.h" +#include "pokenav.h" +#include "constants/songs.h" +#include "sound.h" +#include "constants/rgb.h" +#include "palette.h" +#include "bg.h" +#include "window.h" +#include "strings.h" +#include "graphics.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "menu.h" +#include "dma3.h" + +enum +{ + POKENAV_GFX_MAIN_MENU, + POKENAV_GFX_CONDITION_MENU, + POKENAV_GFX_RIBBONS_MENU, + POKENAV_GFX_MATCH_CALL_MENU, + // One of these is for the zoomed-in map, and the other is for the + // zoomed-out map. Don't know which is which yet. + POKENAV_GFX_MAP_MENU_UNK0, + POKENAV_GFX_MAP_MENU_UNK1, + POKENAV_GFX_PARTY_MENU, + POKENAV_GFX_SEARCH_MENU, + POKENAV_GFX_COOL_MENU, + POKENAV_GFX_BEAUTY_MENU, + POKENAV_GFX_CUTE_MENU, + POKENAV_GFX_SMART_MENU, + POKENAV_GFX_TOUGH_MENU, + POKENAV_GFX_MENUS_END, +}; + +#define POKENAV_GFX_SUBMENUS_START POKENAV_GFX_PARTY_MENU + +struct PokenavMainMenuResources +{ + void (*unk0)(u32); + u32 (*unk4)(void); + u32 unk8; + u32 currentTaskId; + u32 unk10; + u32 unk14; + struct Sprite *spinningPokenav; + struct Sprite *leftHeaderSprites[2]; + struct Sprite *submenuLeftHeaderSprites[2]; + u8 tilemapBuffer[0x800]; +}; + +// This struct uses a 32bit tag, and doesn't have a size field. +// Needed to match LoadLeftHeaderGfxForSubMenu. +struct CompressedSpriteSheetNoSize +{ + const u32 *data; // LZ77 compressed palette data + u32 tag; +}; + +static void CleanupPokenavMainMenuResources(void); +static void LoadLeftHeaderGfxForSubMenu(u32 arg0); +static void LoadLeftHeaderGfxForMenu(u32 index); +static void HideLeftHeaderSubmenuSprites(bool32 isOnRightSide); +static void HideLeftHeaderSprites(bool32 isOnRightSide); +static void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide); +static void ShowLeftHeaderSubmenuSprites(u32 startY, bool32 isOnRightSide); +static void MoveLeftHeader(struct Sprite *sprite, int startX, int endX, int duration); +static void SpriteCB_MoveLeftHeader(struct Sprite *sprite); +static void InitPokenavMainMenuResources(void); +static void InitHoennMapHeaderSprites(void); +static void sub_81C7B74(void); +static u32 LoopedTask_ScrollMenuHeaderDown(int a0); +static u32 LoopedTask_ScrollMenuHeaderUp(int a0); +static void sub_81C7BF8(u32 a0); +static void SpriteCB_SpinningPokenav(struct Sprite* sprite); +static u32 LoopedTask_InitPokenavMenu(int a0); + +const u16 gSpinningPokenavPaletteData[] = INCBIN_U16("graphics/pokenav/icon2.gbapal"); +const u32 gSpinningPokenavGfx[] = INCBIN_U32("graphics/pokenav/icon2.4bpp.lz"); +const u32 gUnused_SpinningPokenavGfx2[] = INCBIN_U32("graphics/pokenav/icon2_unused.4bpp.lz"); + +const struct BgTemplate gPokenavMainMenuBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + } +}; + +const struct WindowTemplate gUnknown_0861FA08[2] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 22, + .width = 16, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x36, + }, + { + .bg = 0xFF, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 0, + .height = 0, + .paletteNum = 0, + .baseBlock = 0, + }, +}; + +const u8 *const sHelpBarTexts[12] = +{ + gText_Pokenav_ClearButtonList, + gText_PokenavMap_ZoomedOutButtons, + gText_PokenavMap_ZoomedInButtons, + gText_PokenavCondition_MonListButtons, + gText_PokenavCondition_MonStatusButtons, + gText_PokenavCondition_MarkingButtons, + gText_PokenavMatchCall_TrainerListButtons, + gText_PokenavMatchCall_CallMenuButtons, + gText_PokenavMatchCall_CheckTrainerButtons, + gText_PokenavRibbons_MonListButtons, + gText_PokenavRibbons_RibbonListButtons, + gText_PokenavRibbons_RibbonCheckButtons, +}; + +const u8 gMenuButtonReminderColor[3] = +{ + 4, 1, 2 +}; + +static const struct CompressedSpriteSheet gSpinningPokenavSpriteSheet[] = +{ + { + .data = gSpinningPokenavGfx, + .size = 0x1000, + .tag = 0, + } +}; + +static const struct SpritePalette gSpinningNavgearPalettes[] = +{ + { + .data = gSpinningPokenavPaletteData, + .tag = 0, + }, + {} +}; + +static const struct CompressedSpriteSheet sPokenavHoennMapLeftHeaderSpriteSheet = +{ + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0xC00, + .tag = 2 +}; + +static const struct CompressedSpriteSheet sPokenavMenuLeftHeaderSpriteSheets[] = +{ + [POKENAV_GFX_MAIN_MENU] = { + .data = gPokenavLeftHeaderMainMenu_Gfx, + .size = 0x20, + .tag = 3 + }, + [POKENAV_GFX_CONDITION_MENU] = { + .data = gPokenavLeftHeaderCondition_Gfx, + .size = 0x20, + .tag = 1 + }, + [POKENAV_GFX_RIBBONS_MENU] = { + .data = gPokenavLeftHeaderRibbons_Gfx, + .size = 0x20, + .tag = 2 + }, + [POKENAV_GFX_MATCH_CALL_MENU] = { + .data = gPokenavLeftHeaderMatchCall_Gfx, + .size = 0x20, + .tag = 4 + }, + [POKENAV_GFX_MAP_MENU_UNK0] = { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x20, + .tag = 0 + }, + [POKENAV_GFX_MAP_MENU_UNK1] = { + .data = gPokenavLeftHeaderHoennMap_Gfx, + .size = 0x40, + .tag = 0 + } +}; + +static const struct CompressedSpriteSheetNoSize sPokenavSubMenuLeftHeaderSpriteSheets[] = +{ + [POKENAV_GFX_PARTY_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderParty_Gfx, + .tag = 1 + }, + [POKENAV_GFX_SEARCH_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderSearch_Gfx, + .tag = 1 + }, + [POKENAV_GFX_COOL_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderCool_Gfx, + .tag = 4 + }, + [POKENAV_GFX_BEAUTY_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderBeauty_Gfx, + .tag = 1 + }, + [POKENAV_GFX_CUTE_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderCute_Gfx, + .tag = 2 + }, + [POKENAV_GFX_SMART_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderSmart_Gfx, + .tag = 0 + }, + [POKENAV_GFX_TOUGH_MENU - POKENAV_GFX_SUBMENUS_START] = { + .data = gPokenavLeftHeaderTough_Gfx, + .tag = 0 + } +}; + +static const struct OamData sSpinningPokenavSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, +}; + +static const union AnimCmd sSpinningPokenavAnims[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(48, 8), + ANIMCMD_FRAME(64, 8), + ANIMCMD_FRAME(80, 8), + ANIMCMD_FRAME(96, 8), + ANIMCMD_FRAME(112, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpinningPokenavAnimTable[] = +{ + sSpinningPokenavAnims +}; + +static const struct SpriteTemplate sSpinningPokenavSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sSpinningPokenavSpriteOam, + .anims = sSpinningPokenavAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_SpinningPokenav +}; + +static const struct OamData sPokenavLeftHeaderHoennMapSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, +}; + +static const struct OamData sUnknown_0861FB24 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = 0, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, +}; + +static const struct SpriteTemplate sPokenavLeftHeaderHoennMapSpriteTemplate = +{ + .tileTag = 2, + .paletteTag = 1, + .oam = &sPokenavLeftHeaderHoennMapSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate sUnknown_0861FB44 = +{ + .tileTag = 2, + .paletteTag = 2, + .oam = &sUnknown_0861FB24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +bool32 InitPokenavMainMenu(void) +{ + struct PokenavMainMenuResources *structPtr; + + structPtr = AllocSubstruct(0, sizeof(struct PokenavMainMenuResources)); + if (structPtr == NULL) + return FALSE; + + ResetSpriteData(); + FreeAllSpritePalettes(); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_InitPokenavMenu, 1); + return TRUE; +} + +u32 PokenavMainMenuLoopedTaskIsActive(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return IsLoopedTaskActive(structPtr->currentTaskId); +} + +void ShutdownPokenav(void) +{ + PlaySE(SE_PN_OFF); + sub_81CAADC(); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); +} + +bool32 WaitForPokenavShutdownFade(void) +{ + if (!gPaletteFade.active) + { + sub_81C99D4(); + CleanupPokenavMainMenuResources(); + FreeAllWindowBuffers(); + return FALSE; + } + + return TRUE; +} + +static u32 LoopedTask_InitPokenavMenu(int a0) +{ + struct PokenavMainMenuResources *structPtr; + + switch (a0) + { + case 0: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + FreeAllWindowBuffers(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gPokenavMainMenuBgTemplates, ARRAY_COUNT(gPokenavMainMenuBgTemplates)); + ResetBgPositions(); + reset_temp_tile_data_buffers(); + return LT_INC_AND_CONTINUE; + case 1: + structPtr = GetSubstructPtr(0); + decompress_and_copy_tile_data_to_vram(0, &gPokenavHeader_Gfx, 0, 0, 0); + SetBgTilemapBuffer(0, structPtr->tilemapBuffer); + CopyToBgTilemapBuffer(0, &gPokenavHeader_Tilemap, 0, 0); + CopyPaletteIntoBufferUnfaded(gPokenavHeader_Pal, 0, 0x20); + CopyBgTilemapBufferToVram(0); + return LT_INC_AND_PAUSE; + case 2: + if (free_temp_tile_data_buffers_if_possible()) + return LT_PAUSE; + + sub_81C7B74(); + return LT_INC_AND_PAUSE; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return LT_PAUSE; + + InitPokenavMainMenuResources(); + InitHoennMapHeaderSprites(); + ShowBg(0); + return LT_FINISH; + default: + return LT_FINISH; + } +} + +void sub_81C7834(void *func1, void *func2) // Fix types later. +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->unk0 = func1; + structPtr->unk4 = func2; + structPtr->unk8 = 0; +} + +void sub_81C7850(u32 a0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->unk8 = 0; + structPtr->unk0(a0); +} + +u32 sub_81C786C(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return structPtr->unk4(); +} + +void sub_81C7880(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderDown, 4); +} + +void sub_81C78A0(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + structPtr->currentTaskId = CreateLoopedTask(LoopedTask_ScrollMenuHeaderUp, 4); +} + +bool32 MainMenuLoopedTaskIsBusy(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + return IsLoopedTaskActive(structPtr->currentTaskId); +} + +static u32 LoopedTask_ScrollMenuHeaderDown(int a0) +{ + switch (a0) + { + default: + return LT_FINISH; + case 1: + return LT_INC_AND_PAUSE; + case 0: + return LT_INC_AND_PAUSE; + case 2: + if (ChangeBgY(0, 384, 1) >= 0x2000u) + { + ChangeBgY(0, 0x2000, 0); + return LT_FINISH; + } + + return LT_PAUSE; + } +} + +static u32 LoopedTask_ScrollMenuHeaderUp(int a0) +{ + if (ChangeBgY(0, 384, 2) <= 0) + { + ChangeBgY(0, 0, 0); + return 4; + } + return 2; +} + +void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size) +{ + CpuCopy16(palette, gPlttBufferUnfaded + bufferOffset, size); +} + +void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes) +{ + const struct SpritePalette *current; + u32 index; + + for (current = palettes; current->data != NULL; current++) + { + index = AllocSpritePalette(current->tag); + if (index == 0xFF) + { + break; + } + else + { + index = (index * 16) + 0x100; + CopyPaletteIntoBufferUnfaded(current->data, index, 0x20); + } + } +} + +void sub_81C7990(u32 a0, u16 a1) +{ + CpuFill16(a1, gPlttBufferFaded + 0x100 + (a0 * 16), 16 * sizeof(u16)); +} + +NAKED +void sub_81C79BC(const u16 *a0, const u16 *a1, u32 a2, u32 a3, u32 a4, u16 *a5) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0xC\n\ + str r0, [sp]\n\ + str r1, [sp, 0x4]\n\ + mov r10, r2\n\ + str r3, [sp, 0x8]\n\ + ldr r0, [sp, 0x2C]\n\ + cmp r0, 0\n\ + bne _081C79E4\n\ + ldr r2, =0x001fffff\n\ + mov r1, r10\n\ + ands r2, r1\n\ + ldr r0, [sp]\n\ + b _081C79F4\n\ + .pool\n\ +_081C79E4:\n\ + ldr r2, [sp, 0x2C]\n\ + ldr r0, [sp, 0x8]\n\ + cmp r2, r0\n\ + blt _081C7A00\n\ + ldr r2, =0x001fffff\n\ + mov r1, r10\n\ + ands r2, r1\n\ + ldr r0, [sp, 0x4]\n\ +_081C79F4:\n\ + ldr r1, [sp, 0x30]\n\ + bl CpuSet\n\ + b _081C7AAE\n\ + .pool\n\ +_081C7A00:\n\ + movs r2, 0x1\n\ + negs r2, r2\n\ + add r10, r2\n\ + b _081C7AA6\n\ +_081C7A08:\n\ + ldr r1, [sp]\n\ + ldrh r0, [r1]\n\ + movs r2, 0x1F\n\ + mov r9, r2\n\ + mov r1, r9\n\ + ands r1, r0\n\ + mov r9, r1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 21\n\ + movs r1, 0x1F\n\ + ands r1, r2\n\ + mov r8, r1\n\ + lsrs r7, r0, 26\n\ + movs r2, 0x1F\n\ + ands r7, r2\n\ + ldr r0, [sp, 0x4]\n\ + ldrh r4, [r0]\n\ + movs r0, 0x1F\n\ + ands r0, r4\n\ + mov r1, r9\n\ + subs r0, r1\n\ + lsls r0, 8\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r2, [sp, 0x2C]\n\ + adds r6, r0, 0\n\ + muls r6, r2\n\ + asrs r6, 8\n\ + lsls r4, 16\n\ + lsrs r0, r4, 21\n\ + movs r1, 0x1F\n\ + ands r0, r1\n\ + mov r2, r8\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r1, [sp, 0x2C]\n\ + adds r5, r0, 0\n\ + muls r5, r1\n\ + asrs r5, 8\n\ + lsrs r4, 26\n\ + movs r2, 0x1F\n\ + ands r4, r2\n\ + subs r4, r7\n\ + lsls r4, 8\n\ + adds r0, r4, 0\n\ + ldr r1, [sp, 0x8]\n\ + bl __divsi3\n\ + ldr r1, [sp, 0x2C]\n\ + muls r0, r1\n\ + asrs r0, 8\n\ + add r6, r9\n\ + movs r2, 0x1F\n\ + ands r6, r2\n\ + add r5, r8\n\ + ands r5, r2\n\ + adds r0, r7, r0\n\ + ands r0, r2\n\ + lsls r0, 10\n\ + lsls r5, 5\n\ + orrs r0, r5\n\ + orrs r0, r6\n\ + ldr r1, [sp, 0x30]\n\ + strh r0, [r1]\n\ + ldr r2, [sp]\n\ + adds r2, 0x2\n\ + str r2, [sp]\n\ + ldr r0, [sp, 0x4]\n\ + adds r0, 0x2\n\ + str r0, [sp, 0x4]\n\ + adds r1, 0x2\n\ + str r1, [sp, 0x30]\n\ + movs r1, 0x1\n\ + negs r1, r1\n\ + add r10, r1\n\ +_081C7AA6:\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + cmp r10, r0\n\ + bne _081C7A08\n\ +_081C7AAE:\n\ + add sp, 0xC\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided"); +} + +void sub_81C7AC0(int a0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + switch (a0) + { + case 0: + BeginNormalPaletteFade(structPtr->unk14, -2, 0, 16, RGB_BLACK); + break; + case 1: + BeginNormalPaletteFade(structPtr->unk14, -2, 16, 0, RGB_BLACK); + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + break; + case 3: + BeginNormalPaletteFade(0xFFFFFFFF, -2, 16, 0, RGB_BLACK); + break; + } +} + +bool32 IsPaletteFadeActive(void) +{ + return gPaletteFade.active; +} + +void sub_81C7B40(void) +{ + BlendPalettes(0xFFFEFFFE, 16, RGB_BLACK); +} + +void InitBgTemplates(const struct BgTemplate *templates, int count) +{ + int i; + + for (i = 0; i < count; i++) + InitBgFromTemplate(templates++); +} + +static void sub_81C7B74(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + InitWindows(&gUnknown_0861FA08[0]); + structPtr->unk10 = 0; + sub_81C7BF8(structPtr->unk10); + PutWindowTilemap(structPtr->unk10); + CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here. +} + +void sub_81C7BA4(u32 helpBarIndex) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + sub_81C7BF8(structPtr->unk10); + AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sHelpBarTexts[helpBarIndex]); +} + +bool32 IsDma3ManagerBusyWithBgCopy_(void) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81C7BF8(u32 windowId) +{ + FillWindowPixelBuffer(windowId, PIXEL_FILL(4)); + FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1); +} + +static void InitPokenavMainMenuResources(void) +{ + int i; + u8 spriteId; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + for (i = 0; i < ARRAY_COUNT(gSpinningPokenavSpriteSheet); i++) + LoadCompressedSpriteSheet(&gSpinningPokenavSpriteSheet[i]); + + Pokenav_AllocAndLoadPalettes(gSpinningNavgearPalettes); + structPtr->unk14 = ~1 & ~(0x10000 << IndexOfSpritePaletteTag(0)); + spriteId = CreateSprite(&sSpinningPokenavSpriteTemplate, 220, 12, 0); + structPtr->spinningPokenav = &gSprites[spriteId]; +} + +static void CleanupPokenavMainMenuResources(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + DestroySprite(structPtr->spinningPokenav); + FreeSpriteTilesByTag(0); + FreeSpritePaletteByTag(0); +} + +static void SpriteCB_SpinningPokenav(struct Sprite *sprite) +{ + // If the background starts scrolling, follow it. + sprite->pos2.y = (GetBgY(0) / 256u) * -1; +} + +struct Sprite *PauseSpinningPokenavSprite(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + structPtr->spinningPokenav->callback = SpriteCallbackDummy; + return structPtr->spinningPokenav; +} + +void ResumeSpinningPokenavSprite(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + structPtr->spinningPokenav->pos1.x = 220; + structPtr->spinningPokenav->pos1.y = 12; + structPtr->spinningPokenav->callback = SpriteCB_SpinningPokenav; + structPtr->spinningPokenav->invisible = FALSE; + structPtr->spinningPokenav->oam.priority = 0; + structPtr->spinningPokenav->subpriority = 0; +} + +static void InitHoennMapHeaderSprites(void) +{ + int i, spriteId; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + LoadCompressedSpriteSheet(&sPokenavHoennMapLeftHeaderSpriteSheet); + AllocSpritePalette(1); + AllocSpritePalette(2); + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + spriteId = CreateSprite(&sPokenavLeftHeaderHoennMapSpriteTemplate, 0, 0, 1); + structPtr->leftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->leftHeaderSprites[i]->pos2.x = i * 64; + + spriteId = CreateSprite(&sUnknown_0861FB44, 0, 0, 2); + structPtr->submenuLeftHeaderSprites[i] = &gSprites[spriteId]; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->pos2.x = i * 32; + structPtr->submenuLeftHeaderSprites[i]->pos2.y = 18; + structPtr->submenuLeftHeaderSprites[i]->oam.tileNum += (i * 8) + 64; + } +} + +void LoadLeftHeaderGfxForIndex(u32 arg0) +{ + if (arg0 < POKENAV_GFX_SUBMENUS_START) + LoadLeftHeaderGfxForMenu(arg0); + else + LoadLeftHeaderGfxForSubMenu(arg0 - POKENAV_GFX_SUBMENUS_START); +} + +void sub_81C7E14(u32 arg0) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (arg0 == 4) + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 32; + else + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + 64; +} + +static void LoadLeftHeaderGfxForMenu(u32 index) +{ + struct PokenavMainMenuResources *structPtr; + u32 size, tag; + + if (index >= POKENAV_GFX_SUBMENUS_START) + return; + + structPtr = GetSubstructPtr(0); + tag = sPokenavMenuLeftHeaderSpriteSheets[index].tag; + size = GetDecompressedDataSize(sPokenavMenuLeftHeaderSpriteSheets[index].data); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(1) * 16) + 0x100, 0x20); + LZ77UnCompWram(sPokenavMenuLeftHeaderSpriteSheets[index].data, gDecompressionBuffer); + RequestDma3Copy(gDecompressionBuffer, (void *)VRAM + 0x10000 + (GetSpriteTileStartByTag(2) * 32), size, 1); + structPtr->leftHeaderSprites[1]->oam.tileNum = GetSpriteTileStartByTag(2) + sPokenavMenuLeftHeaderSpriteSheets[index].size; + + if (index == POKENAV_GFX_MAP_MENU_UNK0 || index == POKENAV_GFX_MAP_MENU_UNK1) + structPtr->leftHeaderSprites[1]->pos2.x = 56; + else + structPtr->leftHeaderSprites[1]->pos2.x = 64; +} + +static void LoadLeftHeaderGfxForSubMenu(u32 arg0) +{ + u32 size, tag; + + if (arg0 >= POKENAV_GFX_MENUS_END - POKENAV_GFX_SUBMENUS_START) + return; + + tag = sPokenavSubMenuLeftHeaderSpriteSheets[arg0].tag; + size = GetDecompressedDataSize(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data); + LoadPalette(&gPokenavLeftHeader_Pal[tag * 16], (IndexOfSpritePaletteTag(2) * 16) + 0x100, 0x20); + LZ77UnCompWram(sPokenavSubMenuLeftHeaderSpriteSheets[arg0].data, &gDecompressionBuffer[0x1000]); + RequestDma3Copy(&gDecompressionBuffer[0x1000], (void *)VRAM + 0x10800 + (GetSpriteTileStartByTag(2) * 32), size, 1); +} + +void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2) +{ + u32 var; + + if (!arg1) + var = 0x30; + else + var = 0x10; + + if (arg0 < 6) + ShowLeftHeaderSprites(var, arg2); + else + ShowLeftHeaderSubmenuSprites(var, arg2); +} + +void sub_81C7FC4(u32 arg0, bool32 arg1) +{ + if (arg0 < 6) + HideLeftHeaderSprites(arg1); + else + HideLeftHeaderSubmenuSprites(arg1); +} + +void sub_81C7FDC(void) +{ + int i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + structPtr->leftHeaderSprites[i]->invisible = TRUE; + structPtr->submenuLeftHeaderSprites[i]->invisible = TRUE; + } +} + +bool32 sub_81C8010(void) +{ + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (structPtr->leftHeaderSprites[0]->callback == SpriteCallbackDummy && structPtr->submenuLeftHeaderSprites[0]->callback == SpriteCallbackDummy) + return FALSE; + else + return TRUE; +} + +static void ShowLeftHeaderSprites(u32 startY, bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = -96, end = 32; + else + start = 256, end = 160; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + structPtr->leftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); + } +} + +static void ShowLeftHeaderSubmenuSprites(u32 startY, bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = -96, end = 16; + else + start = 256, end = 192; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) + { + structPtr->submenuLeftHeaderSprites[i]->pos1.y = startY; + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); + } +} + +static void HideLeftHeaderSprites(bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = 32, end = -96; + else + start = 192, end = 256; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->leftHeaderSprites); i++) + { + MoveLeftHeader(structPtr->leftHeaderSprites[i], start, end, 12); + } +} + +static void HideLeftHeaderSubmenuSprites(bool32 isOnRightSide) +{ + int start, end, i; + struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0); + + if (!isOnRightSide) + start = 16, end = -96; + else + start = 192, end = 256; + + for (i = 0; i < (int)ARRAY_COUNT(structPtr->submenuLeftHeaderSprites); i++) + { + MoveLeftHeader(structPtr->submenuLeftHeaderSprites[i], start, end, 12); + } +} + +static void MoveLeftHeader(struct Sprite *sprite, int startX, int endX, int duration) +{ + sprite->pos1.x = startX; + sprite->data[0] = startX * 16; + sprite->data[1] = (endX - startX) * 16 / duration; + sprite->data[2] = duration; + sprite->data[7] = endX; + sprite->callback = SpriteCB_MoveLeftHeader; +} + +static void SpriteCB_MoveLeftHeader(struct Sprite *sprite) +{ + if (sprite->data[2] != 0) + { + sprite->data[2]--; + sprite->data[0] += sprite->data[1]; + sprite->pos1.x = sprite->data[0] >> 4; + if (sprite->pos1.x < -16 || sprite->pos1.x > 256) + sprite->invisible = TRUE; + else + sprite->invisible = FALSE; + } + else + { + sprite->pos1.x = sprite->data[7]; + sprite->callback = SpriteCallbackDummy; + } +} diff --git a/src/pokenav_match_call.c b/src/pokenav_match_call_data.c index ce00401a9..70fa42541 100644 --- a/src/pokenav_match_call.c +++ b/src/pokenav_match_call_data.c @@ -1,13 +1,12 @@ #include "global.h" #include "battle_setup.h" +#include "data.h" #include "event_data.h" #include "string_util.h" #include "battle.h" #include "gym_leader_rematch.h" #include "match_call.h" -extern const u8 gTrainerClassNames[][13]; - // Static type declarations typedef struct MatchCallTextDataStruct { @@ -423,7 +422,7 @@ static const match_call_text_data_t sMayTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sMayMatchCallHeader = +static const struct MatchCallStruct4 sBrendanMatchCallHeader = { .type = 4, .gender = MALE, @@ -452,7 +451,7 @@ static const match_call_text_data_t sBrendanTextScripts[] = { { NULL, 0xFFFF, 0xFFFF } }; -static const struct MatchCallStruct4 sBrendanMatchCallHeader = +static const struct MatchCallStruct4 sMayMatchCallHeader = { .type = 4, .gender = FEMALE, @@ -729,8 +728,8 @@ static const struct MatchCallStruct5 sWallaceMatchCallHeader = static const match_call_t sMatchCallHeaders[] = { {.type0 = &sMrStoneMatchCallHeader}, {.type3 = &sProfBirchMatchCallHeader}, - {.type4 = &sBrendanMatchCallHeader}, {.type4 = &sMayMatchCallHeader}, + {.type4 = &sBrendanMatchCallHeader}, {.type2 = &sWallyMatchCallHeader}, {.type5 = &sNormanMatchCallHeader}, {.type0 = &sMomMatchCallHeader}, @@ -1102,7 +1101,7 @@ static void MatchCall_GetMessage_Type4(match_call_t matchCall, u8 *dest) sub_8197080(dest); } -void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) +static void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) { u32 i; for (i = 0; sub0[i].text != NULL; i++) @@ -1120,8 +1119,6 @@ void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest) StringExpandPlaceholders(dest, sub0[i].text); } -#ifdef NONMATCHING -// There's some weird upmerge going on that I cannot replicate at this time. static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) { u32 i; @@ -1129,7 +1126,7 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) { if (sub0[i].flag == 0xfffe) break; - if (sub0[i].flag == 0xffff && !FlagGet(sub0[i].flag)) + if (sub0[i].flag != 0xffff && !FlagGet(sub0[i].flag)) break; } if (sub0[i].flag != 0xfffe) @@ -1142,127 +1139,22 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) } else { - if (!FlagGet(FLAG_SYS_GAME_CLEAR)) - ; - else if (gSaveBlock1Ptr->trainerRematches[idx]) - i += 2; - else if (CountBattledRematchTeams(idx) >= 2) - i += 3; - else - i++; + if (FlagGet(FLAG_SYS_GAME_CLEAR)) + { + do + { + if (gSaveBlock1Ptr->trainerRematches[idx]) + i += 2; + else if (CountBattledRematchTeams(idx) >= 2) + i += 3; + else + i++; + } while (0); + } + StringExpandPlaceholders(dest, sub0[i].text); } } -#else -static NAKED void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tadds r6, r0, 0\n" - "\tmov r10, r2\n" - "\tlsls r1, 16\n" - "\tlsrs r7, r1, 16\n" - "\tmovs r5, 0\n" - "\tldr r0, [r6]\n" - "\tcmp r0, 0\n" - "\tbeq _081D19E6\n" - "\tldrh r0, [r6, 0x4]\n" - "\tldr r1, =0x0000fffe\n" - "\tcmp r0, r1\n" - "\tbeq _081D1A24\n" - "\tldr r0, =0x0000ffff\n" - "\tmov r9, r0\n" - "\tmov r8, r1\n" - "\tadds r4, r6, 0\n" - "_081D19C6:\n" - "\tldrh r0, [r4, 0x4]\n" - "\tcmp r0, r9\n" - "\tbeq _081D19D6\n" - "\tbl FlagGet\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _081D19E6\n" - "_081D19D6:\n" - "\tadds r4, 0x8\n" - "\tadds r5, 0x1\n" - "\tldr r0, [r4]\n" - "\tcmp r0, 0\n" - "\tbeq _081D19E6\n" - "\tldrh r0, [r4, 0x4]\n" - "\tcmp r0, r8\n" - "\tbne _081D19C6\n" - "_081D19E6:\n" - "\tlsls r0, r5, 3\n" - "\tadds r0, r6\n" - "\tldrh r1, [r0, 0x4]\n" - "\tldr r0, =0x0000fffe\n" - "\tcmp r1, r0\n" - "\tbeq _081D1A24\n" - "\tcmp r5, 0\n" - "\tbeq _081D19F8\n" - "\tsubs r5, 0x1\n" - "_081D19F8:\n" - "\tlsls r0, r5, 3\n" - "\tadds r4, r0, r6\n" - "\tldrh r1, [r4, 0x6]\n" - "\tldr r0, =0x0000ffff\n" - "\tcmp r1, r0\n" - "\tbeq _081D1A0A\n" - "\tadds r0, r1, 0\n" - "\tbl FlagSet\n" - "_081D1A0A:\n" - "\tldr r1, [r4]\n" - "\tmov r0, r10\n" - "\tbl StringExpandPlaceholders\n" - "\tb _081D1A5C\n" - "\t.pool\n" - "_081D1A1C:\n" - "\tadds r5, 0x2\n" - "\tb _081D1A50\n" - "_081D1A20:\n" - "\tadds r5, 0x3\n" - "\tb _081D1A50\n" - "_081D1A24:\n" - "\tldr r0, =0x00000864\n" - "\tbl FlagGet\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _081D1A50\n" - "\tldr r0, =gSaveBlock1Ptr\n" - "\tldr r0, [r0]\n" - "\tldr r1, =0x000009ca\n" - "\tadds r0, r1\n" - "\tadds r0, r7\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _081D1A1C\n" - "\tadds r0, r7, 0\n" - "\tbl CountBattledRematchTeams\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tcmp r0, 0x1\n" - "\tbhi _081D1A20\n" - "\tadds r5, 0x1\n" - "_081D1A50:\n" - "\tlsls r0, r5, 3\n" - "\tadds r0, r6\n" - "\tldr r1, [r0]\n" - "\tmov r0, r10\n" - "\tbl StringExpandPlaceholders\n" - "_081D1A5C:\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool"); -} -#endif void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name) { @@ -1416,7 +1308,7 @@ NAKED const u8 *sub_81D1B40(u32 idx, u32 offset) } #endif -s32 sub_81D1BD0(u32 idx) +int sub_81D1BD0(u32 idx) { u32 i; @@ -1430,9 +1322,9 @@ s32 sub_81D1BD0(u32 idx) bool32 sub_81D1BF8(u32 idx) { - s32 i; + int i; - for (i = 0; i < (s32)ARRAY_COUNT(sMatchCallHeaders); i++) + for (i = 0; i < (int)ARRAY_COUNT(sMatchCallHeaders); i++) { u32 r0 = MatchCall_GetRematchTableIdx(i); if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx) @@ -1443,7 +1335,7 @@ bool32 sub_81D1BF8(u32 idx) void SetMatchCallRegisteredFlag(void) { - s32 r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); + int r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); if (r0 >= 0) FlagSet(FLAG_MATCH_CALL_REGISTERED + r0); } diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c new file mode 100644 index 000000000..795b4d599 --- /dev/null +++ b/src/pokenav_match_call_ui.c @@ -0,0 +1,1167 @@ +#include "global.h" +#include "pokenav.h" +#include "window.h" +#include "strings.h" +#include "text.h" +#include "bg.h" +#include "menu.h" +#include "decompress.h" + +struct UnknownSubSubStruct_0203CF40 { + u8 bg; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 fontId; + u16 unk6; + u16 windowId; + u16 unkA; + u16 unkC; + u16 unkE; +}; + +struct MatchCallWindowState { + // The index of the element at the top of the window. + u16 windowTopIndex; + u16 listLength; + u16 unk4; + // The index of the cursor, relative to the top of the window. + u16 selectedIndexOffset; + u16 visibleEntries; + u16 unkA; + u32 unkC; + u32 unk10; +}; + +struct UnknownInnerStruct_81C81D4 +{ + struct UnknownSubSubStruct_0203CF40 unk0; + u32 unk10; + u32 unk14; + u32 unk18; + u32 unk1C; + s32 unk20; + s32 unk24; + u32 unk28; + s32 unk2C; + u32 unk30; + void (*unk34)(u32, u8*); + void (*unk38)(u16, u32, u32); + struct Sprite *rightArrow; + struct Sprite *upArrow; + struct Sprite *downArrow; + u8 unkTextBuffer[0x40]; +}; + +// Generally at index 0x11 (17) +struct UnknownSubStruct_81C81D4 +{ + struct UnknownInnerStruct_81C81D4 unk0; + u8 tilemapBuffer[0x800]; + struct MatchCallWindowState unk888; + u32 unk89C; + u32 unk8A0; +}; + +extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4); + +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0); +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3); +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1); +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite); +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite); +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite); +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0); +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8ED0(void); +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2); +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 a1); +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2); +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5); +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1); +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0); +u32 LoopedTask_sub_81C8254(s32 a0); +bool32 sub_81C83E0(void); +u32 LoopedTask_sub_81C83F0(s32 a0); +u32 LoopedTask_sub_81C85A0(s32 a0); +u32 LoopedTask_sub_81C8870(s32 a0); +u32 LoopedTask_sub_81C8A28(s32 a0); +u32 LoopedTask_sub_81C8958(s32 a0); + +static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal"); +static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz"); + +static const u8 sPokenavColors_0861FBE4[] = +{ + 0, 2, 5 +}; + +static const u8 *const sMatchCallFieldNames[] = +{ + gText_PokenavMatchCall_Strategy, + gText_PokenavMatchCall_TrainerPokemon, + gText_PokenavMatchCall_SelfIntroduction +}; + +static const u8 sMatchCallFieldColors[] = +{ + 1, 4, 5 +}; + +static const u8 sUnknown_0861FBF7[] = +{ + 2, 4, 6, 7, 0 +}; + +static const struct CompressedSpriteSheet sMatchcallArrowSpriteSheets[] = +{ + { + .data = sMatchcallArrowSpriteSheetData, + .size = 192, + .tag = 0xA + } +}; + +static const struct SpritePalette sMatchcallArrowPalettes[] = +{ + { + .data = sMatchcallArrowPaletteData, + .tag = 0x14 + }, + {} +}; + +static const struct OamData sMatchCallRightArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallRightArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallRightArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_MatchCallRightArrow +}; + +static const struct OamData sMatchCallUpDownArrowSpriteOam = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sMatchCallUpDownArrowSprite = +{ + .tileTag = 0xA, + .paletteTag = 0x14, + .oam = &sMatchCallUpDownArrowSpriteOam, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +EWRAM_DATA u32 gUnknown_0203CF44 = 0; + +bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2) +{ + u32 v1; + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = AllocSubstruct(0x11, sizeof(struct UnknownSubStruct_81C81D4)); + + if (structPtr == NULL) + return FALSE; + + sub_81C9160(&structPtr->unk888, arg1); + + v1 = sub_81C91AC(&structPtr->unk0, arg0, arg1, arg2); + if (v1 == 0) + return FALSE; + + CreateLoopedTask(LoopedTask_sub_81C8254, 6); + return TRUE; +} + +bool32 sub_81C8224(void) +{ + return FuncIsActiveLoopedTask(LoopedTask_sub_81C8254); +} + +void sub_81C8234(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + + structPtr = GetSubstructPtr(0x11); + sub_81C8FE0(&structPtr->unk0); + RemoveWindow(structPtr->unk0.unk0.windowId); + FreePokenavSubstruct(0x11); +} + +u32 LoopedTask_sub_81C8254(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + sub_81C82E4(structPtr); + return 0; + case 1: + sub_81C835C(&structPtr->unk0.unk0); + return 0; + case 2: + sub_81C837C(&structPtr->unk888, &structPtr->unk0); + return 0; + case 3: + if (sub_81C83E0()) + { + return 2; + } + else + { + sub_81C8ED0(); + return 1; + } + case 4: + sub_81C8EF8(&structPtr->unk888, &structPtr->unk0); + return 4; + default: + return 4; + } +} + +void sub_81C82E4(struct UnknownSubStruct_81C81D4 *a0) +{ + u16 v1 = (a0->unk0.unk0.unk1 << 12) | a0->unk0.unk0.unk6; + sub_8199DF0(a0->unk0.unk0.bg, PIXEL_FILL(1), a0->unk0.unk0.unk6, 1); + sub_8199DF0(a0->unk0.unk0.bg, PIXEL_FILL(4), a0->unk0.unk0.unk6 + 1, 1); + SetBgTilemapBuffer(a0->unk0.unk0.bg, a0->tilemapBuffer); + FillBgTilemapBufferRect_Palette0(a0->unk0.unk0.bg, v1, 0, 0, 32, 32); + ChangeBgY(a0->unk0.unk0.bg, 0, 0); + ChangeBgX(a0->unk0.unk0.bg, 0, 0); + ChangeBgY(a0->unk0.unk0.bg, a0->unk0.unk0.unk3 << 11, 2); + CopyBgTilemapBufferToVram(a0->unk0.unk0.bg); +} + +void sub_81C835C(struct UnknownSubSubStruct_0203CF40 *a0) +{ + FillWindowPixelBuffer(a0->windowId, PIXEL_FILL(1)); + PutWindowTilemap(a0->windowId); + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C837C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + s32 v1; + s32 v2; + + // TODO: Clean this up. + v1 = a0->listLength - a0->windowTopIndex; + v2 = a0->visibleEntries; + if (v1 > a0->visibleEntries) + v1 = v2; + sub_81C83AC(a0->unk10, a0->windowTopIndex, v1, a0->unkC, 0, a1); +} + +void sub_81C83AC(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, struct UnknownInnerStruct_81C81D4 *a5) +{ + if (a2 == 0) + return; + + a5->unk1C = a0 + a1 * a3; + a5->unk18 = a3; + a5->unk0.unkC = 0; + a5->unk0.unkE = a2; + a5->unk14 = a1; + a5->unk10 = a4; + CreateLoopedTask(LoopedTask_sub_81C83F0, 5); +} + +bool32 sub_81C83E0(void) +{ + return FuncIsActiveLoopedTask(LoopedTask_sub_81C83F0); +} + +u32 LoopedTask_sub_81C83F0(s32 a0) +{ + struct UnknownInnerStruct_81C81D4 *structPtr; + u32 v1; + + structPtr = &((struct UnknownSubStruct_81C81D4*)GetSubstructPtr(0x11))->unk0; + switch (a0) + { + case 0: + v1 = (structPtr->unk0.unkA + structPtr->unk0.unkC + structPtr->unk10) & 0xF; + structPtr->unk34(structPtr->unk1C, structPtr->unkTextBuffer); + if (structPtr->unk38 != NULL) + // Accessing unk0.windowId as if it were a u16...? + // It's accessed as a u8 again in the very next line... + structPtr->unk38(*(u16*)(&structPtr->unk0.windowId), structPtr->unk14, v1); + + AddTextPrinterParameterized(structPtr->unk0.windowId, structPtr->unk0.fontId, structPtr->unkTextBuffer, 8, (v1 << 4) + 1, 255, NULL); + + if (++structPtr->unk0.unkC >= structPtr->unk0.unkE) + { + if (structPtr->unk38 != NULL) + CopyWindowToVram(structPtr->unk0.windowId, 3); + else + CopyWindowToVram(structPtr->unk0.windowId, 2); + return 0; + } + else + { + structPtr->unk1C += structPtr->unk18; + structPtr->unk14++; + return 3; + } + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + else + return 4; + default: + return 4; + } +} + +bool32 ShouldShowUpArrow(void) +{ + u16 v1; + s32 v2; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + + return structPtr->unk888.windowTopIndex != 0; +} + +bool32 ShouldShowDownArrow(void) +{ + struct MatchCallWindowState *subPtr; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + subPtr = &structPtr->unk888; + + return subPtr->windowTopIndex + subPtr->visibleEntries < subPtr->listLength; +} + +void MatchCall_MoveWindow(s32 a0, bool32 a1_) +{ + register bool32 a1 asm("r4")= a1_; + s32 v1; + struct UnknownSubStruct_81C81D4 *structPtr = GetSubstructPtr(0x11); + register struct MatchCallWindowState *subPtr asm("r5") = &structPtr->unk888; + + if (a0 < 0) + { + u16 temp = subPtr->windowTopIndex; + if (temp + a0 < 0) + v1 = -1 * temp; + else + v1 = a0; + if (a1) + sub_81C83AC(subPtr->unk10, temp + v1, v1 * -1, subPtr->unkC, v1, &structPtr->unk0); + } + else if (a1) + { + s32 temp = gUnknown_0203CF44 = subPtr->windowTopIndex + subPtr->visibleEntries; + s32 listLength; + if (temp + a0 >= (listLength = subPtr->listLength)) + v1 = listLength - temp; + else + v1 = a0; + + sub_81C83AC(subPtr->unk10, gUnknown_0203CF44, v1, subPtr->unkC, subPtr->visibleEntries, &structPtr->unk0); + // Needed to prevent GCC from combining the two sub_81C83AC calls. + asm(""); + } + else + { + v1 = a0; + } + + sub_81C8568(v1, &structPtr->unk0); + subPtr->windowTopIndex += v1; +} + +void sub_81C8568(s32 a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + a1->unk20 = GetBgY(a1->unk0.bg); + a1->unk24 = a1->unk20 + (a0 << 12); + if (a0 > 0) + a1->unk30 = 1; + else + a1->unk30 = 2; + a1->unk2C = a0; + a1->unk28 = CreateLoopedTask(LoopedTask_sub_81C85A0, 6); +} + +u32 LoopedTask_sub_81C85A0(s32 a0) +{ + s32 y; + s32 v1; + bool32 flag; + struct UnknownInnerStruct_81C81D4 *structPtr; + structPtr = &((struct UnknownSubStruct_81C81D4 *)GetSubstructPtr(0x11))->unk0; + + switch (a0) + { + case 0: + if (sub_81C83E0() == FALSE) + return 1; + else + return 2; + case 1: + flag = FALSE; + y = GetBgY(structPtr->unk0.bg); + v1 = ChangeBgY(structPtr->unk0.bg, 0x1000, structPtr->unk30); + if (structPtr->unk30 == 2) + { + if ((y > structPtr->unk24 || y <= structPtr->unk20) && v1 <= structPtr->unk24) + { + flag = TRUE; + } + } + else + { + if ((y < structPtr->unk24 || y >= structPtr->unk20) && v1 >= structPtr->unk24) + { + flag = TRUE; + } + } + if (flag) + { + structPtr->unk0.unkA = (structPtr->unk0.unkA + structPtr->unk2C) & 0xF; + ChangeBgY(structPtr->unk0.bg, structPtr->unk24, 0); + return 4; + } + else + { + return 2; + } + default: + return 4; + } +} + +bool32 sub_81C8630(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return IsLoopedTaskActive(structPtr->unk0.unk28); +} + +struct MatchCallWindowState *GetMatchCallWindowStruct(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return &structPtr->unk888; +} + +int MatchCall_MoveCursorUp(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (structPtr->selectedIndexOffset != 0) + { + structPtr->selectedIndexOffset--; + return 1; + } + else + { + if (ShouldShowUpArrow()) + { + MatchCall_MoveWindow(-1, TRUE); + return 2; + } + else + { + return 0; + } + } +} + +int MatchCall_MoveCursorDown(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (structPtr->windowTopIndex + structPtr->selectedIndexOffset < structPtr->listLength - 1) + { + if (structPtr->selectedIndexOffset < structPtr->visibleEntries - 1) + { + structPtr->selectedIndexOffset++; + return 1; + } + else if (!ShouldShowDownArrow()) + { + return 0; + } + } + else + { + return 0; + } + MatchCall_MoveWindow(1, TRUE); + return 2; +} + +int MatchCall_PageUp(void) +{ + struct MatchCallWindowState *structPtr; + s32 scroll; + + structPtr = GetMatchCallWindowStruct(); + if (ShouldShowUpArrow()) + { + if (structPtr->windowTopIndex >= structPtr->visibleEntries) + scroll = structPtr->visibleEntries; + else + scroll = structPtr->windowTopIndex; + MatchCall_MoveWindow(scroll * -1, TRUE); + return 2; + } + else if (structPtr->selectedIndexOffset != 0) + { + structPtr->selectedIndexOffset = 0; + return 1; + } + else + { + return 0; + } +} + +int MatchCall_PageDown(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + if (ShouldShowDownArrow()) + { + s32 scroll; + s32 windowBottomIndex; + s32 v3; + windowBottomIndex = structPtr->windowTopIndex + structPtr->visibleEntries; + scroll = structPtr->unk4 - structPtr->windowTopIndex; + if (windowBottomIndex <= structPtr->unk4) + scroll = structPtr->visibleEntries; + MatchCall_MoveWindow(scroll, TRUE); + return 2; + } + else + { + s32 cursor; + s32 lastVisibleIndex; + if (structPtr->listLength >= structPtr->visibleEntries) + { + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->visibleEntries; + } + else + { + cursor = structPtr->selectedIndexOffset; + lastVisibleIndex = structPtr->listLength; + } + lastVisibleIndex -= 1; + if (cursor >= lastVisibleIndex) + { + return 0; + } + else + { + structPtr->selectedIndexOffset = lastVisibleIndex; + return 1; + } + } +} + +u32 GetSelectedMatchCall(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + return structPtr->windowTopIndex + structPtr->selectedIndexOffset; +} + +u32 GetMatchCallListTopIndex(void) +{ + struct MatchCallWindowState *structPtr; + structPtr = GetMatchCallWindowStruct(); + + return structPtr->windowTopIndex; +} + +void sub_81C877C(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6); +} + +void sub_81C87AC(s16 a0) +{ + u16 temp; + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + temp = structPtr->unk888.windowTopIndex; + temp += a0; + structPtr->unk888.windowTopIndex = temp; + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6); +} + +void sub_81C87F0(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk89C = 0; + structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8A28, 6); +} + +bool32 sub_81C8820(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + return IsLoopedTaskActive(structPtr->unk8A0); +} + +void sub_81C8838(void) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct MatchCallWindowState *subStr; + structPtr = GetSubstructPtr(0x11); + subStr = &structPtr->unk888; + structPtr->unk0.unk38(structPtr->unk0.unk0.windowId, subStr->windowTopIndex + subStr->selectedIndexOffset, (structPtr->unk0.unk0.unkA + subStr->selectedIndexOffset) & 0xF); + CopyWindowToVram(structPtr->unk0.unk0.windowId, 1); +} + +u32 LoopedTask_sub_81C8870(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + u16 v1; + u32 v2; + + // Needed to fix a register renaming issue. + register u16* temp asm("r1"); + structPtr = GetSubstructPtr(0x11); + + switch (a0) + { + case 0: + ToggleMatchCallArrows(&structPtr->unk0, 1); + // fall-through + case 1: + if (structPtr->unk89C != structPtr->unk888.selectedIndexOffset) + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, 1); + + structPtr->unk89C++; + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + if (structPtr->unk89C != structPtr->unk888.visibleEntries) + return 6; + + if (structPtr->unk888.selectedIndexOffset != 0) + sub_81C8B70(&structPtr->unk0.unk0, structPtr->unk89C, structPtr->unk888.selectedIndexOffset); + + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + temp = &structPtr->unk888.selectedIndexOffset; + v1 = *temp; + if (v1 == 0) + return 4; + + MatchCall_MoveWindow(v1, FALSE); + return 0; + case 4: + v2 = sub_81C8630(); + if (v2) + return 2; + + structPtr->unk888.selectedIndexOffset = v2; + return 4; + default: + return 4; + } +} + +u32 LoopedTask_sub_81C8958(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + + switch (a0) + { + case 0: + sub_81C8CB4(&structPtr->unk888, &structPtr->unk0); + break; + case 1: + PrintMatchCallFieldNames(&structPtr->unk0, 0); + break; + case 2: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0); + break; + case 3: + PrintMatchCallFieldNames(&structPtr->unk0, 1); + break; + case 4: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1); + break; + case 5: + PrintMatchCallFieldNames(&structPtr->unk0, 2); + break; + case 6: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2); + break; + case 7: + sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3); + break; + default: + return 4; + } + return 0; +} + +u32 LoopedTask_sub_81C8A28(s32 a0) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + struct MatchCallWindowState *subPtr888; + register struct UnknownInnerStruct_81C81D4 *subPtr0 asm("r2"); + s32 v4; + + if (IsDma3ManagerBusyWithBgCopy()) + { + return 2; + } + + structPtr = GetSubstructPtr(0x11); + subPtr888 = &structPtr->unk888; + subPtr0 = &structPtr->unk0; + + switch (a0) + { + default: + return 4; + case 0: + sub_81C8D4C(subPtr888, subPtr0); + return 0; + case 1: + { + s32 v1; + s32 v2; + u32 *v3; + register s32 v4 asm("r5"); + + v3 = &structPtr->unk89C; + v1 = *v3 + 1; + *v3 = v1; + if (v1 < structPtr->unk888.visibleEntries) + { + sub_81C8B70(&subPtr0->unk0, v1, 1); + return 2; + } + + *v3 = 0; + if (subPtr888->listLength <= subPtr888->visibleEntries) + { + register u32 temp asm("r0"); + temp = subPtr888->windowTopIndex; + if (temp == 0) + return 9; + v2 = temp; + } + else + { + register s32 temp asm("r1"); + v2 = subPtr888->windowTopIndex + subPtr888->visibleEntries; + temp = (s32)subPtr888->listLength; + if (v2 <= temp) + return 9; + v2 -= temp; + } + v4 = v2 * -1; + sub_81C8B70(&subPtr0->unk0, v4, v2); + subPtr888->selectedIndexOffset = v2; + *v3 = v4; + return 0; + } + case 2: + MatchCall_MoveWindow(structPtr->unk89C, FALSE); + return 0; + case 3: + if (sub_81C8630()) + return 2; + + structPtr->unk89C = 0; + return 1; + case 4: + sub_81C83AC(subPtr888->unk10, subPtr888->windowTopIndex + structPtr->unk89C, 1, subPtr888->unkC, structPtr->unk89C, &structPtr->unk0); + return 0; + case 5: + if (sub_81C83E0()) + return 2; + + v4 = ++structPtr->unk89C; + if (v4 >= subPtr888->listLength || v4 >= subPtr888->visibleEntries) + return 1; + return 9; + case 6: + ToggleMatchCallArrows(subPtr0, 0); + return 4; + } +} + +void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1, u32 a2) +{ + u8 *v1; + u32 v2; + + v1 = (u8*)GetWindowAttribute(a0->windowId, WINDOW_TILE_DATA); + v2 = a0->unk4 * 64; + + a1 = (a0->unkA + a1) & 0xF; + if ((s32)(a1 + a2) <= 16) + { + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, a2 * v2); + CopyWindowToVram(a0->windowId, 2); + } + else + { + u32 v3; + u32 v4; + + v3 = 16 - a1; + v4 = a2 - v3; + + CpuFastFill8(PIXEL_FILL(1), v1 + a1 * v2, v3 * v2); + CpuFastFill8(PIXEL_FILL(1), v1, v4 * v2); + CopyWindowToVram(a0->windowId, 2); + } + + a2 -= 1; + for (a2; a2 != -1; a1 = (a1 + 1) & 0xF, a2--) + { + sub_81CBD48(a0->windowId, a1); + } + + CopyWindowToVram(a0->windowId, 1); +} + +void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1) +{ + u16 *v1; + register u32 v2 asm("r0"); + u32 v3; + + v1 = (u16*)GetBgTilemapBuffer(GetWindowAttribute(a0->windowId, WINDOW_BG)); + + v1 = &v1[(a0->unkA << 6) + a0->unk2 - 1]; + + if (a1 != 0) + { + v2 = a0->unk1 << 12; + v3 = a0->unk6 + 1; + } + else + { + v2 = a0->unk1 << 12; + v3 = a0->unk6; + } + { + register u16 v5 asm("r1"); + register u32 v6 asm("r0"); + v6 = (v3 | v2); + v6 = v6 << 16; + v5 = v6 >> 16; + v1[0] = v5; + v1[0x20] = v5; + } +} + +void sub_81C8CB4(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + u8 colors[3]; + + + memcpy(colors, sPokenavColors_0861FBE4, ARRAY_COUNT(sPokenavColors_0861FBE4)); + + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); + a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(4), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized3(a1->unk0.windowId, a1->unk0.fontId, 8, (a1->unk0.unkA * 16) + 1, colors, TEXT_SPEED_FF, a1->unkTextBuffer); + sub_81C8C64(&a1->unk0, 1); + CopyWindowRectToVram(a1->unk0.windowId, 3, 0, a1->unk0.unkA * 2, a1->unk0.unk4, 2); +} + +void sub_81C8D4C(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer); + FillWindowPixelRect(a1->unk0.windowId, PIXEL_FILL(1), 0, a1->unk0.unkA * 16, a1->unk0.unk4 * 8, 16); + AddTextPrinterParameterized(a1->unk0.windowId, a1->unk0.fontId, a1->unkTextBuffer, 8, a1->unk0.unkA * 16 + 1, TEXT_SPEED_FF, NULL); + sub_81C8C64(&a1->unk0, 0); + CopyWindowToVram(a1->unk0.windowId, 3); +} + +void PrintMatchCallFieldNames(struct UnknownInnerStruct_81C81D4 *a0, u32 fieldId) +{ + const u8 *fieldNames[3]; + u8 colors[3]; + u32 r4; + u32 r5; + u32 tmp; + u32 one; + + memcpy(fieldNames, sMatchCallFieldNames, sizeof(sMatchCallFieldNames)); + memcpy(colors, sMatchCallFieldColors, sizeof(sMatchCallFieldColors)); + + r4 = a0->unk0.unkA; + tmp = fieldId * 2 + 1; + r4 += tmp; + r4 &= 0xF; + FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, r4 << 4, a0->unk0.unk4, 16); + + // This is a fake match. It should be this: + // AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, r4 << 4 + 1, colors, TEXT_SPEED_FF, fieldNames[fieldId]); + // But the original GCC does some clever reuse of the `1` constant that the current GCC doesn't. + one = 1; + AddTextPrinterParameterized3(a0->unk0.windowId, 7, 2, (r4 << 4) + one, colors, one - 2, fieldNames[fieldId]); + CopyWindowRectToVram(a0->unk0.windowId, 2, 0, r4 << 1, a0->unk0.unk4, 2); +} + +void sub_81C8E54(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1, u32 a2) +{ + const u8 *str; + u32 r6; + + r6 = (a1->unk0.unkA + sUnknown_0861FBF7[a2]) & 0xF; + + str = sub_81CAFD8(a0->windowTopIndex, a2); + if (str != NULL) { + sub_81DB620(a1->unk0.windowId, 1, r6 * 2, a1->unk0.unk4 - 1, 2); + AddTextPrinterParameterized(a1->unk0.windowId, 7, str, 2, (r6 << 4) + 1, TEXT_SPEED_FF, NULL); + CopyWindowRectToVram(a1->unk0.windowId, 2, 0, r6 * 2, a1->unk0.unk4, 2); + } +} + +void sub_81C8ED0(void) +{ + u32 i; + const struct CompressedSpriteSheet *ptr; + + for (i = 0, ptr = sMatchcallArrowSpriteSheets; i < ARRAY_COUNT(sMatchcallArrowSpriteSheets); ptr++, i++) + { + LoadCompressedSpriteSheet(ptr); + } + Pokenav_AllocAndLoadPalettes(sMatchcallArrowPalettes); +} + +void sub_81C8EF8(struct MatchCallWindowState *a0, struct UnknownInnerStruct_81C81D4 *a1) +{ + register u32 spriteId asm("r3"); + s16 temp; + + spriteId = (u8)CreateSprite(&sMatchCallRightArrowSprite, a1->unk0.unk2 * 8 + 3, (a1->unk0.unk3 + 1) * 8, 7); + a1->rightArrow = &gSprites[spriteId]; + + temp = a1->unk0.unk2 * 8 + (a1->unk0.unk4 - 1) * 4; + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8 + a0->visibleEntries * 16, 7); + a1->downArrow = &gSprites[spriteId]; + a1->downArrow->oam.tileNum += 2; + a1->downArrow->callback = SpriteCB_MatchCallDownArrow; + + spriteId = (u8)CreateSprite(&sMatchCallUpDownArrowSprite, temp, a1->unk0.unk3 * 8, 7); + a1->upArrow = &gSprites[spriteId]; + a1->upArrow->oam.tileNum += 4; + a1->upArrow->callback = SpriteCB_MatchCallUpArrow; +} + +void sub_81C8FE0(struct UnknownInnerStruct_81C81D4 *a0) +{ + DestroySprite(a0->rightArrow); + DestroySprite(a0->upArrow); + DestroySprite(a0->downArrow); + FreeSpriteTilesByTag(0xA); + FreeSpritePaletteByTag(0x14); +} + +void ToggleMatchCallArrows(struct UnknownInnerStruct_81C81D4 *a0, bool32 shouldHide) +{ + if (shouldHide) + { + a0->rightArrow->callback = SpriteCallbackDummy; + a0->upArrow->callback = SpriteCallbackDummy; + a0->downArrow->callback = SpriteCallbackDummy; + } + else + { + a0->rightArrow->callback = SpriteCB_MatchCallRightArrow; + a0->upArrow->callback = SpriteCB_MatchCallUpArrow; + a0->downArrow->callback = SpriteCB_MatchCallDownArrow; + } + a0->rightArrow->invisible = shouldHide; + a0->upArrow->invisible = shouldHide; + a0->downArrow->invisible = shouldHide; +} + +void SpriteCB_MatchCallRightArrow(struct Sprite *sprite) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + sprite->pos2.y = structPtr->unk888.selectedIndexOffset << 4; +} + +void SpriteCB_MatchCallDownArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && ShouldShowDownArrow()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = offset; + } +} + +void SpriteCB_MatchCallUpArrow(struct Sprite *sprite) +{ + if (sprite->data[7] == 0 && ShouldShowUpArrow()) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + if (++sprite->data[0] > 3) + { + s16 offset; + + sprite->data[0] = 0; + offset = (sprite->data[1] + 1) & 7; + sprite->data[1] = offset; + sprite->pos2.y = -1 * offset; + } +} + +void ToggleMatchCallVerticalArrows(bool32 shouldHide) +{ + struct UnknownSubStruct_81C81D4 *structPtr; + structPtr = GetSubstructPtr(0x11); + structPtr->unk0.upArrow->data[7] = shouldHide; + structPtr->unk0.downArrow->data[7] = shouldHide; +} + +void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1) +{ + u32 unused1 = a0->unk10 = a1->unk0; + u32 v0 = a1->unk6; + u32 zero = 0; + u32 unused2 = a0->windowTopIndex = v0; + u32 v1 = a0->listLength = a1->unk4; + + a0->unkC = a1->unk8; + a0->visibleEntries = a1->unkC; + if (a0->visibleEntries >= (u16)v1) + { + a0->windowTopIndex = 0; + a0->unk4 = 0; + a0->selectedIndexOffset = v0; + } + else + { + s32 v2; + a0->unk4 = a0->listLength - a0->visibleEntries; + v2 = a0->windowTopIndex + a0->visibleEntries; + if (v2 > a0->listLength) { + a0->selectedIndexOffset = v2 - a0->listLength; + a0->windowTopIndex = v0 - a0->selectedIndexOffset; + } + else + { + a0->selectedIndexOffset = 0; + } + } +} + +u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3) +{ + register u32 raw_bg asm("r4") = ((a1->bg) << 30); + u8 bg = raw_bg >> 30; + u32 unknown = 0; + struct WindowTemplate window; + u8 bg_again; + + a0->unk0.bg = bg; + a0->unk0.unk6 = a3; + a0->unk34 = a2->unk10; + a0->unk38 = a2->unk14; + a0->unk0.unk1 = a2->unkD; + a0->unk0.unk2 = a2->unk9; + a0->unk0.unk3 = a2->unkB; + a0->unk0.unk4 = a2->unkA; + a0->unk0.fontId = a2->unkE; + + window.bg = raw_bg >> 30; + window.tilemapLeft = a2->unk9; + window.tilemapTop = 0; + window.width = a2->unkA; + window.height = 32; + window.paletteNum = a2->unkD; + window.baseBlock = a3 + 2; + + a0->unk0.windowId = AddWindow(&window); + if (a0->unk0.windowId == 0xFF) + { + return 0; + } + else + { + a0->unk0.unkA = unknown; + a0->rightArrow = NULL; + a0->upArrow = NULL; + a0->downArrow = NULL; + return 1; + } +}
\ No newline at end of file diff --git a/src/pokenav_unk_1.c b/src/pokenav_unk_1.c new file mode 100644 index 000000000..96ecf9c8b --- /dev/null +++ b/src/pokenav_unk_1.c @@ -0,0 +1,466 @@ +#include "global.h" +#include "pokenav.h" +#include "event_data.h" +#include "main.h" +#include "sound.h" +#include "constants/songs.h" + +struct Pokenav1Struct +{ + u16 menuType; + s16 cursorPos; + u16 descriptionId; + u16 helpBarIndex; + u32 unk8; + u32 (*callback)(struct Pokenav1Struct*); +}; + +static bool32 sub_81C9814(struct Pokenav1Struct *a0); +static void sub_81C97F8(struct Pokenav1Struct *a0); +static void sub_81C97C0(struct Pokenav1Struct *a0); +static u32 sub_81C97BC(struct Pokenav1Struct *a0); +static void sub_81C97B0(struct Pokenav1Struct *a0, u32 a1); +static u32 sub_81C97A4(struct Pokenav1Struct *a0); +static u32 sub_81C9798(struct Pokenav1Struct *a0); +static u32 sub_81C96FC(struct Pokenav1Struct *a0); +static u32 sub_81C963C(struct Pokenav1Struct *a0); +static u32 sub_81C9600(struct Pokenav1Struct *a0); +static u32 sub_81C9588(struct Pokenav1Struct *a0); +static u32 sub_81C9520(struct Pokenav1Struct *a0); +static u32 sub_81C943C(struct Pokenav1Struct *a0); +static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*); +static void sub_81C939C(struct Pokenav1Struct *state); + +static const u8 sLastCursorPositions[] = {2, 3, 4, 2, 5}; + +static const u8 sDescriptionIds[][6] = +{ + { 0, 1, 4, 4, 4, 4 }, + { 0, 1, 2, 4, 4, 4 }, + { 0, 1, 2, 3, 4, 4 }, + { 5, 6, 7, 4, 4, 4 }, + { 8, 9, 10, 11, 12, 13 }, +}; + +static u8 GetPokenavMainMenuType(void) +{ + u8 retVal = 0; + if (FlagGet(FLAG_ADDED_MATCH_CALL_TO_POKENAV)) + { + retVal = 1; + if (FlagGet(FLAG_SYS_RIBBON_GET)) + retVal = 2; + } + + return retVal; +} + +bool32 sub_81C9298(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = GetPokenavMainMenuType(); + state->cursorPos = 0; + state->descriptionId = 0; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C92CC(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = GetPokenavMainMenuType(); + state->cursorPos = 2; + state->descriptionId = 2; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C9304(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = GetPokenavMainMenuType(); + state->cursorPos = 3; + state->descriptionId = 3; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C9338(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = 3; + state->cursorPos = 0; + state->descriptionId = 5; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +bool32 sub_81C9368(void) +{ + struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct)); + if (!state) + return FALSE; + + state->menuType = 4; + state->cursorPos = sub_81C76AC(); + state->descriptionId = state->cursorPos + 8; + state->helpBarIndex = 0; + sub_81C939C(state); + return TRUE; +} + +static void sub_81C939C(struct Pokenav1Struct *state) +{ + switch (state->menuType) + { + case 0: + SetPokenavMode(POKENAV_MODE_NORMAL); + // fallthrough + case 1: + case 2: + state->callback = sub_81C93EC(); + break; + case 3: + state->callback = sub_81C963C; + break; + case 4: + state->callback = sub_81C96FC; + break; + } +} + +static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*) +{ + switch (GetPokenavMode()) + { + default: + case POKENAV_MODE_NORMAL: + return sub_81C943C; + case POKENAV_MODE_FORCE_CALL_1: + return sub_81C9520; + case POKENAV_MODE_FORCE_CALL_2: + return sub_81C9588; + } +} + +u32 sub_81C941C(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->callback(state); +} + +void sub_81C9430(void) +{ + FreePokenavSubstruct(1); +} + +static u32 sub_81C943C(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + switch (sDescriptionIds[a0->menuType][a0->cursorPos]) + { + case 0: + a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? 2 : 1; + sub_81C97B0(a0, POKENAV_MENU_6); + return 8; + case 1: + a0->menuType = 3; + a0->cursorPos = 0; + a0->descriptionId = sDescriptionIds[3][0]; + a0->callback = sub_81C963C; + return 2; + case 2: + a0->helpBarIndex = 6; + sub_81C97B0(a0, POKENAV_MENU_B); + return 8; + case 3: + if (CanViewRibbonsMenu()) + { + a0->helpBarIndex = 9; + sub_81C97B0(a0, POKENAV_MENU_C); + return 8; + } + else + { + a0->callback = sub_81C9600; + return 6; + } + case 4: + return -1; + } + } + + if (gMain.newKeys & B_BUTTON) + return -1; + + return 0; +} + +static u32 sub_81C9520(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + if (sDescriptionIds[a0->menuType][a0->cursorPos] == 2) + { + a0->helpBarIndex = 6; + sub_81C97B0(a0, POKENAV_MENU_B); + return 8; + } + else + { + PlaySE(SE_HAZURE); + return 0; + } + } + + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_HAZURE); + return 0; + } + + return 0; +} + +static u32 sub_81C9588(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + u32 v0 = sDescriptionIds[a0->menuType][a0->cursorPos]; + if (v0 != 2 && v0 != 4) + { + PlaySE(SE_HAZURE); + return 0; + } + else if (v0 == 2) + { + a0->helpBarIndex = 6; + sub_81C97B0(a0, POKENAV_MENU_B); + return 8; + } + else + { + return -1; + } + } + else if (gMain.newKeys & B_BUTTON) + { + return -1; + } + return 0; +} + +static u32 sub_81C9600(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + { + a0->callback = sub_81C93EC(); + return 1; + } + + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + a0->callback = sub_81C93EC(); + return 7; + } + + return 0; +} + +static u32 sub_81C963C(struct Pokenav1Struct *a0) +{ + u32 v0 = sub_81C9814(a0); + if (v0) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + switch (sDescriptionIds[a0->menuType][a0->cursorPos]) + { + case 6: + a0->menuType = 4; + a0->cursorPos = v0; + a0->descriptionId = sDescriptionIds[4][0]; + a0->callback = sub_81C96FC; + return 4; + case 5: + a0->helpBarIndex = v0; + sub_81C97B0(a0, POKENAV_MENU_7); + return 8; + case 7: + PlaySE(SE_SELECT); + sub_81C97C0(a0); + return 3; + } + } + if (gMain.newKeys & B_BUTTON) + { + if (a0->cursorPos != sLastCursorPositions[a0->menuType]) + { + a0->cursorPos = sLastCursorPositions[a0->menuType]; + a0->callback = sub_81C9798; + return 1; + } + else + { + PlaySE(SE_SELECT); + sub_81C97C0(a0); + return 3; + } + } + + return 0; +} + +static u32 sub_81C96FC(struct Pokenav1Struct *a0) +{ + if (sub_81C9814(a0)) + return 1; + + if (gMain.newKeys & A_BUTTON) + { + u8 v0 = sDescriptionIds[a0->menuType][a0->cursorPos]; + if (v0 != 13) + { + sub_81C7694(v0 - 8); + sub_81C97B0(a0, POKENAV_MENU_8); + a0->helpBarIndex = 3; + return 8; + } + else + { + PlaySE(SE_SELECT); + sub_81C97F8(a0); + return 5; + } + } + if (gMain.newKeys & B_BUTTON) + { + if (a0->cursorPos != sLastCursorPositions[a0->menuType]) + { + a0->cursorPos = sLastCursorPositions[a0->menuType]; + a0->callback = sub_81C97A4; + return 1; + } + else + { + PlaySE(SE_SELECT); + sub_81C97F8(a0); + return 5; + } + } + return 0; +} + +static u32 sub_81C9798(struct Pokenav1Struct *a0) +{ + sub_81C97C0(a0); + return 3; +} + +static u32 sub_81C97A4(struct Pokenav1Struct *a0) +{ + sub_81C97F8(a0); + return 5; +} + +static void sub_81C97B0(struct Pokenav1Struct *a0, u32 a1) +{ + a0->unk8 = a1; + a0->callback = sub_81C97BC; +} + +static u32 sub_81C97BC(struct Pokenav1Struct *a0) +{ + return a0->unk8; +} + +static void sub_81C97C0(struct Pokenav1Struct *a0) +{ + a0->menuType = GetPokenavMainMenuType(); + a0->cursorPos = 1; + a0->descriptionId = sDescriptionIds[a0->menuType][a0->cursorPos]; + a0->callback = sub_81C943C; +} + +static void sub_81C97F8(struct Pokenav1Struct *a0) +{ + a0->menuType = 3; + a0->cursorPos = 1; + a0->descriptionId = sDescriptionIds[3][1]; + a0->callback = sub_81C963C; +} + +static bool32 sub_81C9814(struct Pokenav1Struct *a0) +{ + if (gMain.newKeys & DPAD_UP) + { + if (--a0->cursorPos < 0) + a0->cursorPos = sLastCursorPositions[a0->menuType]; + + a0->descriptionId = sDescriptionIds[a0->menuType][a0->cursorPos]; + return TRUE; + } + else if (gMain.newKeys & DPAD_DOWN) + { + a0->cursorPos++; + if (a0->cursorPos > sLastCursorPositions[a0->menuType]) + a0->cursorPos = 0; + + a0->descriptionId = sDescriptionIds[a0->menuType][a0->cursorPos]; + return TRUE; + } + else + { + return FALSE; + } +} + +int sub_81C9894(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->menuType; +} + +int sub_81C98A4(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->cursorPos; +} + +int sub_81C98B4(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->descriptionId; +} + +int sub_81C98C4(void) +{ + struct Pokenav1Struct *state = GetSubstructPtr(1); + return state->helpBarIndex; +} diff --git a/src/pokenav_unk_3.c b/src/pokenav_unk_3.c new file mode 100755 index 000000000..c6705a352 --- /dev/null +++ b/src/pokenav_unk_3.c @@ -0,0 +1,504 @@ +#include "global.h" +#include "battle_setup.h" +#include "data.h" +#include "event_data.h" +#include "gym_leader_rematch.h" +#include "international_string_util.h" +#include "main.h" +#include "match_call.h" +#include "overworld.h" +#include "pokemon.h" +#include "pokenav.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "constants/flags.h" +#include "constants/songs.h" + +struct Pokenav3Struct +{ + u16 unk0; + u16 unk2; + const u8 *unk4; + u16 unk8; + u16 unkA; + u16 unkC; + u32 unk10; + u32 unk14; + u32 (*callback)(struct Pokenav3Struct*); + struct Pokenav3Struct_Unk1C unk1C[99]; +}; + +static u32 sub_81CAB44(struct Pokenav3Struct *); +static u32 sub_81CABFC(struct Pokenav3Struct *); +static u32 sub_81CAC04(struct Pokenav3Struct *); +static u32 sub_81CACB8(struct Pokenav3Struct *); +static u32 sub_81CACF8(struct Pokenav3Struct *); +static u32 sub_81CAD20(int); +static bool32 sub_81CB1D0(void); + +extern const u8 gUnknown_08622508[]; +extern const u8 gUnknown_0862250A[]; +extern const u8 *const gUnknown_08622028[][4]; + +bool32 sub_81CAAE8(void) +{ + struct Pokenav3Struct *state = AllocSubstruct(5, sizeof(struct Pokenav3Struct)); + if (!state) + return FALSE; + + state->callback = sub_81CAB44; + state->unk8 = 0; + state->unk10 = 0; + state->unk14 = CreateLoopedTask(sub_81CAD20, 1); + return TRUE; +} + +u32 sub_81CAB24(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->callback(state); +} + +void sub_81CAB38(void) +{ + FreePokenavSubstruct(5); +} + +static u32 sub_81CAB44(struct Pokenav3Struct *state) +{ + int selectedMatchCall; + + if (gMain.newAndRepeatedKeys & DPAD_UP) + return 2; + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + return 1; + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + return 4; + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + return 3; + + if (gMain.newKeys & A_BUTTON) + { + state->callback = sub_81CAC04; + state->unk0 = 0; + selectedMatchCall = GetSelectedMatchCall(); + if (!state->unk1C[selectedMatchCall].unk0 || sub_81D17E8(state->unk1C[selectedMatchCall].unk2)) + { + state->unk4 = gUnknown_0862250A; + state->unk2 = 2; + } + else + { + state->unk4 = gUnknown_08622508; + state->unk2 = 1; + } + + return 5; + } + + if (gMain.newKeys & B_BUTTON) + { + if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_1) + { + state->callback = sub_81CABFC; + return 15; + } + else + { + PlaySE(SE_HAZURE); + } + } + + return 0; +} + +static u32 sub_81CABFC(struct Pokenav3Struct *state) +{ + return POKENAV_MENU_4; +} + +static u32 sub_81CAC04(struct Pokenav3Struct *state) +{ + if ((gMain.newKeys & DPAD_UP) && state->unk0) + { + state->unk0--; + return 6; + } + + if ((gMain.newKeys & DPAD_DOWN) && state->unk0 < state->unk2) + { + state->unk0++; + return 6; + } + + if (gMain.newKeys & A_BUTTON) + { + switch (state->unk4[state->unk0]) + { + case 2: + state->callback = sub_81CAB44; + return 7; + case 0: + if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_1) + SetPokenavMode(POKENAV_MODE_FORCE_CALL_2); + + state->callback = sub_81CACF8; + if (sub_81CB1D0()) + return 9; + + return 8; + case 1: + state->callback = sub_81CACB8; + return 11; + } + } + + if (gMain.newKeys & B_BUTTON) + { + state->callback = sub_81CAB44; + return 7; + } + + return 0; +} + +static u32 sub_81CACB8(struct Pokenav3Struct *state) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + return 12; + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + return 13; + + if (gMain.newKeys & B_BUTTON) + { + state->callback = sub_81CAB44; + return 14; + } + + return 0; +} + +static u32 sub_81CACF8(struct Pokenav3Struct *state) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + state->callback = sub_81CAB44; + return 10; + } + + return 0; +} + +static u32 sub_81CAD20(int taskState) +{ + int i, j; + struct Pokenav3Struct *state = GetSubstructPtr(5); + switch (taskState) + { + case 0: + state->unk8 = 0; + state->unkA = 0; + return LT_INC_AND_CONTINUE; + case 1: + for (i = 0, j = state->unk8; i < 30; i++, j++) + { + if (MatchCallFlagGetByIndex(j)) + { + state->unk1C[state->unkA].unk2 = j; + state->unk1C[state->unkA].unk0 = 1; + state->unk1C[state->unkA].unk1 = sub_81D16DC(j); + state->unkA++; + } + + if (++state->unk8 >= 21) // TODO: This is the size of sMatchCallHeaders + { + state->unkC = state->unk8; + state->unk8 = 0; + return LT_INC_AND_CONTINUE; + } + } + + return LT_CONTINUE; + case 2: + for (i = 0, j = state->unk8; i < 30; i++, j++) + { + if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8)) + { + state->unk1C[state->unkA].unk2 = state->unk8; + state->unk1C[state->unkA].unk0 = 0; + state->unk1C[state->unkA].unk1 = sub_81CB0C8(j); + state->unkA++; + } + + if (++state->unk8 > REMATCH_TABLE_ENTRIES - 1) + return LT_INC_AND_CONTINUE; + } + + return LT_CONTINUE; + case 3: + state->unk10 = 1; + break; + } + + return LT_FINISH; +} + +bool32 sub_81CAE08(int rematchIndex) +{ + if (rematchIndex < REMATCH_TABLE_ENTRIES) + return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex); + + return FALSE; +} + +int sub_81CAE28(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk10; +} + +int sub_81CAE38(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unkA; +} + +int sub_81CAE48(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unkC; +} + +int unref_sub_81CAE58(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unkA - state->unkC; +} + +int unref_sub_81CAE6C(int arg0) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + arg0 += state->unkC; + if (arg0 >= state->unkA) + return REMATCH_TABLE_ENTRIES; + + return state->unk1C[arg0].unk2; +} + +struct Pokenav3Struct_Unk1C *sub_81CAE94(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk1C; +} + +u16 sub_81CAEA4(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk1C[index].unk1; +} + +bool32 sub_81CAEBC(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (!state->unk1C[index].unk0) + index = state->unk1C[index].unk2; + else + index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk2); + + if (index == REMATCH_TABLE_ENTRIES) + return FALSE; + + return gSaveBlock1Ptr->trainerRematches[index] != 0; +} + +int sub_81CAF04(int index) +{ + int var0; + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (!state->unk1C[index].unk0) + { + index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk2); + return gTrainers[index].trainerPic; + } + + var0 = state->unk1C[index].unk2; + index = MatchCall_GetRematchTableIdx(var0); + if (index != REMATCH_TABLE_ENTRIES) + { + index = GetTrainerIdxByRematchIdx(index); + return gTrainers[index].trainerPic; + } + + index = sub_81D1BD0(var0); + return gFacilityClassToPicIndex[index]; +} + +const u8 *sub_81CAF78(int index, u8 *arg1) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + *arg1 = 0; + if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType)) + return gText_CallCantBeMadeHere; + + if (!state->unk1C[index].unk0) + *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk2), gStringVar4); + else + MatchCall_GetMessage(state->unk1C[index].unk2, gStringVar4); + + return gStringVar4; +} + +const u8 *sub_81CAFD8(int index, int textType) +{ + int var0; + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (state->unk1C[index].unk0) + { + var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk2); + if (var0 == REMATCH_TABLE_ENTRIES) + return sub_81D1B40(state->unk1C[index].unk2, textType); + } + else + { + var0 = state->unk1C[index].unk2; + } + + return gUnknown_08622028[var0][textType]; +} + +u16 sub_81CB01C(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + return state->unk0; +} + +u16 sub_81CB02C(int arg0) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + if (state->unk2 < arg0) + return 3; + + return state->unk4[arg0]; +} + +void sub_81CB050(u32 arg0, u8 *str) +{ + struct Pokenav3Struct_Unk1C *var0 = (struct Pokenav3Struct_Unk1C *)arg0; + const u8 *trainerName; + const u8 *className; + if (!var0->unk0) + { + int index = GetTrainerIdxByRematchIdx(var0->unk2); + const struct Trainer *trainer = &gTrainers[index]; + int class = trainer->trainerClass; + className = gTrainerClassNames[class]; + trainerName = trainer->trainerName; + } + else + { + sub_81D1A78(var0->unk2, &className, &trainerName); + } + + if (className && trainerName) + { + u8 *str2 = sub_81DB494(str, 7, className, 69); + sub_81DB494(str2, 7, trainerName, 51); + } + else + { + sub_81DB494(str, 7, NULL, 120); + } +} + +int sub_81CB0C8(int rematchIndex) +{ + int mapGroup = gRematchTable[rematchIndex].mapGroup; + int mapNum = gRematchTable[rematchIndex].mapNum; + return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId; +} + +int sub_81CB0E4(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + int count = 1; + while (++index < state->unkA) + { + if (!state->unk1C[index].unk0) + return count; + if (sub_81D17E8(state->unk1C[index].unk2)) + return count; + + count++; + } + + return 0; +} + +int sub_81CB128(int index) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + int count = -1; + while (--index >= 0) + { + if (!state->unk1C[index].unk0) + return count; + if (sub_81D17E8(state->unk1C[index].unk2)) + return count; + + count--; + } + + return 0; +} + +bool32 unref_sub_81CB16C(void) +{ + int i; + + for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + if (sub_81CAE08(i) && gSaveBlock1Ptr->trainerRematches[i]) + return TRUE; + } + + for (i = 0; i < 21; i++) // TODO: This is the size of sMatchCallHeaders + { + if (MatchCallFlagGetByIndex(i)) + { + int index = MatchCall_GetRematchTableIdx(i); + if (gSaveBlock1Ptr->trainerRematches[index]) + return TRUE; + } + } + + return FALSE; +} + +static bool32 sub_81CB1D0(void) +{ + struct Pokenav3Struct *state = GetSubstructPtr(5); + int index = GetSelectedMatchCall(); + if (!state->unk1C[index].unk0) + { + if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId) + { + if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk2]) + return TRUE; + } + } + else + { + if (state->unk1C[index].unk2 == 11) + { + if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId + && FlagGet(FLAG_BADGE05_GET) == TRUE) + { + if (!FlagGet(FLAG_WATTSON_REMATCH_AVAILABLE)) + return TRUE; + } + } + } + + return FALSE; +} diff --git a/src/pokenav_unk_4.c b/src/pokenav_unk_4.c new file mode 100755 index 000000000..6fa76daf2 --- /dev/null +++ b/src/pokenav_unk_4.c @@ -0,0 +1,1119 @@ +#include "global.h" +#include "bg.h" +#include "data.h" +#include "decompress.h" +#include "dma3.h" +#include "international_string_util.h" +#include "main.h" +#include "match_call.h" +#include "menu.h" +#include "overworld.h" +#include "palette.h" +#include "pokenav.h" +#include "region_map.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trig.h" +#include "window.h" +#include "constants/game_stat.h" +#include "constants/region_map_sections.h" +#include "constants/songs.h" +#include "constants/species.h" + +struct Pokenav4Struct +{ + bool32 (*unk0)(void); + u32 unk4; + u8 filler8[0x6]; + u8 unkE; + u8 unkF; + u16 unk10; + u16 unk12; + u16 unk14; + s16 unk16; + u8 unused18; + u8 unk19; + u16 unk1A; + struct Sprite *unk1C; + struct Sprite *unk20; + u8 unk24[0x800]; + u8 unk824[0x800]; + u8 unk1024[0x800]; + u8 *unk1824; + u8 unk1828[0x800]; + u8 unk2028[0x20]; +}; + +static bool32 sub_81CB310(void); +static u32 sub_81CB324(int); +static void sub_81CBBB8(void); +static void sub_81CBC1C(void); +static void sub_81CC2B4(void); +static void sub_81CC034(struct Pokenav4Struct *); +static void sub_81CBD78(struct Pokenav4Struct *); +static void sub_81CBDC0(struct Pokenav4Struct *); +static void sub_81CBEF8(struct Pokenav4Struct *, int); +static void sub_81CC214(void); +static void sub_81CBC38(int); +static void sub_81CBF60(struct Pokenav4Struct *); +static bool32 sub_81CBFC4(struct Pokenav4Struct *); +static void sub_81CC344(struct Pokenav4Struct *, int); +static bool32 sub_81CC004(struct Pokenav4Struct *); +static void sub_81CBFF0(struct Pokenav4Struct *); +static void sub_81CC058(struct Pokenav4Struct *); +static bool32 sub_81CC0D0(struct Pokenav4Struct *); +static void sub_81CC0E0(struct Pokenav4Struct *); +static bool32 sub_81CC104(struct Pokenav4Struct *); +static void sub_81CC158(struct Pokenav4Struct *); +static bool32 sub_81CC194(struct Pokenav4Struct *); +static void sub_81CC09C(struct Pokenav4Struct *); +static void sub_81CC11C(struct Pokenav4Struct *); +static bool32 sub_81CC140(struct Pokenav4Struct *); +static void sub_81CC1DC(struct Pokenav4Struct *); +static bool32 sub_81CC204(struct Pokenav4Struct *); +static void sub_81CC014(struct Pokenav4Struct *); +static void sub_81CC39C(struct Pokenav4Struct *); +static bool32 sub_81CC42C(struct Pokenav4Struct *); +static void sub_81CC420(struct Pokenav4Struct *); +static void sub_81CBC64(u8 taskId); +static void sub_81CBCEC(u16 windowId, u32, u32); +static void sub_81CBDF4(u16 windowId); +static void sub_81CBE0C(u16 windowId); +static void sub_81CBE38(u16 windowId); +static void sub_81CBE50(u16 windowId); +static void sub_81CBE88(u16 windowId, const u8 *str, int top); +static void sub_81CBEB4(u16 windowId, const u8 *str, int top); +static void sub_81CC2F0(struct Pokenav4Struct *, int); +static void sub_81CC330(struct Pokenav4Struct *); +static struct Sprite *sub_81CC370(void); +static void sub_81CC440(struct Sprite *sprite); +static void sub_81CC4A4(struct Sprite *sprite); + +extern const LoopedTask gUnknown_08622798[]; +extern const struct BgTemplate gUnknown_0862278C[3]; +extern const u16 gUnknown_08622510[]; +extern const u32 gUnknown_08622530[]; +extern const u32 gUnknown_08622760[]; +extern const u16 gUnknown_08622700[]; +extern const u16 gUnknown_08622720[]; +extern const u8 gUnknown_086225D4[]; +extern const u16 gUnknown_086226E0[]; +extern const struct BgTemplate gUnknown_08622794; +extern const struct WindowTemplate gUnknown_086227D8; +extern const struct WindowTemplate gUnknown_086227E0; +extern const u8 *const gUnknown_086227E8[]; +extern const struct WindowTemplate gUnknown_08622808; +extern const u8 gUnknown_086227F4[]; +extern const struct CompressedSpriteSheet gUnknown_08622810[1]; +extern const struct SpritePalette gUnknown_08622818[]; +extern const struct SpriteTemplate gUnknown_08622830; +extern const struct SpriteTemplate gUnknown_08622850; + +bool32 sub_81CB260(void) +{ + struct Pokenav4Struct *state = AllocSubstruct(6, sizeof(struct Pokenav4Struct)); + if (!state) + return FALSE; + + state->unk19 = 0; + state->unk4 = CreateLoopedTask(sub_81CB324, 1); + state->unk0 = sub_81CB310; + return TRUE; +} + +void sub_81CB29C(int index) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + state->unk4 = CreateLoopedTask(gUnknown_08622798[index], 1); + state->unk0 = sub_81CB310; +} + +u32 sub_81CB2CC(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + return state->unk0(); +} + +void sub_81CB2E0(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + sub_81CC2B4(); + sub_81CBC1C(); + RemoveWindow(state->unk12); + RemoveWindow(state->unk10); + RemoveWindow(state->unk14); + FreePokenavSubstruct(6); +} + +static bool32 sub_81CB310(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + return IsLoopedTaskActive(state->unk4); +} + +static u32 sub_81CB324(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + InitBgTemplates(gUnknown_0862278C, ARRAY_COUNT(gUnknown_0862278C)); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + decompress_and_copy_tile_data_to_vram(2, gUnknown_08622530, 0, 0, 0); + SetBgTilemapBuffer(2, state->unk1024); + CopyToBgTilemapBuffer(2, gUnknown_086225D4, 0, 0); + CopyBgTilemapBufferToVram(2); + CopyPaletteIntoBufferUnfaded(gUnknown_08622510, 0x20, 0x20); + CopyBgTilemapBufferToVram(2); + return 0; + case 1: + if (free_temp_tile_data_buffers_if_possible()) + return 2; + + sub_8199DF0(1, 0, 0, 1); + SetBgTilemapBuffer(1, state->unk24); + FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20); + CopyPaletteIntoBufferUnfaded(gUnknown_086226E0, 0x10, 0x20); + CopyBgTilemapBufferToVram(1); + return 0; + case 2: + if (free_temp_tile_data_buffers_if_possible()) + return 2; + + sub_81CC034(state); + decompress_and_copy_tile_data_to_vram(3, gUnknown_08622760, 0, 0, 0); + CopyPaletteIntoBufferUnfaded(gUnknown_08622700, 0x30, 0x20); + CopyPaletteIntoBufferUnfaded(gUnknown_08622720, 0x50, 0x20); + return 0; + case 3: + if (free_temp_tile_data_buffers_if_possible() || !sub_81CAE28()) + return 2; + + sub_81CBBB8(); + return 0; + case 4: + if (sub_81C8224()) + return 2; + + sub_81CBD78(state); + return 0; + case 5: + sub_81CBDC0(state); + sub_81CBEF8(state, 0); + return 0; + case 6: + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ShowBg(2); + ShowBg(3); + ShowBg(1); + sub_81CC214(); + LoadLeftHeaderGfxForIndex(3); + sub_81C7FA0(3, 1, 0); + sub_81C7AC0(1); + return 0; + case 7: + if (IsPaletteFadeActive() || sub_81C8010()) + return 2; + + sub_81CBC38(1); + return 4; + default: + return 4; + } +} + +u32 sub_81CB510(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_MoveCursorDown()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB588(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_MoveCursorUp()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB600(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_PageDown()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB678(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + switch (MatchCall_PageUp()) + { + case 0: + break; + case 1: + PlaySE(SE_SELECT); + return 7; + case 2: + PlaySE(SE_SELECT); + // fall through + default: + return 0; + } + break; + case 1: + if (sub_81C8630()) + return 2; + + sub_81CBEF8(state, 0); + return 0; + case 2: + sub_81CBEF8(state, 0); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + return 4; +} + +u32 sub_81CB6F0(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CBF60(state); + sub_81C7BA4(7); + return 0; + case 1: + if (sub_81CBFC4(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB734(int taskState) +{ + struct Pokenav4Struct *state; + u16 var0; + + PlaySE(SE_SELECT); + state = GetSubstructPtr(6); + var0 = sub_81CB01C(); + sub_81CC344(state, var0); + return 4; +} + +u32 sub_81CB75C(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CBFF0(state); + sub_81C7BA4(6); + return 0; + case 1: + if (sub_81CC004(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB7A0(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + ToggleMatchCallVerticalArrows(TRUE); + sub_81CC058(state); + return 0; + case 1: + if (sub_81CC0D0(state)) + return 2; + + sub_81CC0E0(state); + PlaySE(SE_TOREEYE); + state->unkE = 0; + return 0; + case 2: + if (sub_81CC104(state)) + return 2; + + sub_81CC158(state); + return 0; + case 3: + if (sub_81CC194(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB824(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CC09C(state); + ToggleMatchCallVerticalArrows(TRUE); + state->unkE = 1; + return 0; + case 1: + if (sub_81CC0D0(state)) + return 2; + + sub_81CC11C(state); + return 0; + case 2: + if (sub_81CC140(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB888(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + u32 result = 0; + + switch (taskState) + { + case 0: + if (!state->unkE) + PlaySE(SE_TOREOFF); + + PlaySE(SE_SELECT); + break; + case 1: + sub_81CC1DC(state); + break; + case 2: + if (sub_81CC204(state)) + result = 2; + break; + case 3: + sub_81CBFF0(state); + break; + case 4: + if (sub_81CC004(state)) + result = 2; + + sub_81C7BA4(6); + break; + case 5: + if (IsDma3ManagerBusyWithBgCopy_()) + { + result = 2; + } + else + { + if (state->unkF) + { + sub_81C8838(); + result = 1; + } + else + { + ToggleMatchCallVerticalArrows(FALSE); + result = 4; + } + } + break; + case 6: + if (IsDma3ManagerBusyWithBgCopy()) + { + result = 2; + } + else + { + ToggleMatchCallVerticalArrows(FALSE); + result = 4; + } + break; + } + + return result; +} + +u32 sub_81CB93C(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81C877C(); + sub_81CC014(state); + return 0; + case 1: + if (sub_81C8820() || sub_81CC004(state)) + return 2; + + sub_81C7BA4(8); + return 0; + case 2: + sub_81C87AC(0); + sub_81CC39C(state); + return 0; + case 3: + if (sub_81C8820() || sub_81CC42C(state) || IsDma3ManagerBusyWithBgCopy_()) + return 2; + break; + } + + return 4; +} + +u32 sub_81CB9C8(int taskState) +{ + int index; + int var0; + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + index = GetMatchCallListTopIndex(); + var0 = sub_81CB0E4(index); + if (var0) + { + PlaySE(SE_SELECT); + state->unk16 = var0; + sub_81CC420(state); + return 0; + } + break; + case 1: + if (sub_81CC42C(state)) + return 2; + + sub_81CBEF8(state, state->unk16); + return 0; + case 2: + sub_81C87AC(state->unk16); + return 0; + case 3: + sub_81CC39C(state); + return 0; + case 4: + if (sub_81C8820() || sub_81CC42C(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CBA68(int taskState) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CC420(state); + sub_81C87F0(); + return 0; + case 1: + if (sub_81C8820() || sub_81CC42C(state)) + return 2; + + sub_81C7BA4(6); + sub_81CBDC0(state); + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy()) + return 2; + break; + } + + return 4; +} + +u32 sub_81CBAD4(int taskState) +{ + int index; + int var0; + struct Pokenav4Struct *state = GetSubstructPtr(6); + switch (taskState) + { + case 0: + index = GetMatchCallListTopIndex(); + var0 = sub_81CB128(index); + if (var0) + { + PlaySE(SE_SELECT); + state->unk16 = var0; + sub_81CC420(state); + return 0; + } + break; + case 1: + if (sub_81CC42C(state)) + return 2; + + sub_81CBEF8(state, state->unk16); + return 0; + case 2: + sub_81C87AC(state->unk16); + return 0; + case 3: + sub_81CC39C(state); + return 0; + case 4: + if (sub_81C8820() || sub_81CC42C(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CBB74(int taskState) +{ + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CBC38(0); + sub_81C7AC0(0); + sub_81C78A0(); + return 0; + case 1: + if (IsPaletteFadeActive() || MainMenuLoopedTaskIsBusy()) + return 2; + + sub_81C7FDC(); + break; + } + + return 4; +} + +static void sub_81CBBB8(void) +{ + struct MatchCallListTemplate template; + template.unk0 = (u32)sub_81CAE94(); + template.unk4 = sub_81CAE38(); + template.unk8 = 4; + template.unk6 = 0; + template.unk9 = 13; + template.unkA = 16; + template.unkB = 1; + template.unkC = 8; + template.unkD = 3; + template.unkE = 7; + template.unk10 = sub_81CB050; + template.unk14 = sub_81CBCEC; + sub_81C81D4(&gUnknown_08622794, &template, 2); + CreateTask(sub_81CBC64, 7); +} + +static void sub_81CBC1C(void) +{ + sub_81C8234(); + DestroyTask(FindTaskIdByFunc(sub_81CBC64)); +} + +static void sub_81CBC38(int arg0) +{ + u8 taskId = FindTaskIdByFunc(sub_81CBC64); + if (taskId != 0xFF) + gTasks[taskId].data[15] = arg0; +} + +static void sub_81CBC64(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + if (taskData[15]) + { + taskData[0] += 4; + taskData[0] &= 0x7F; + taskData[1] = gSineTable[taskData[0]] >> 4; + sub_81C79BC(gUnknown_08622720, gUnknown_08622720 + 0x10, 0x10, 0x10, taskData[1], gPlttBufferUnfaded + 0x50); + if (!gPaletteFade.active) + CpuCopy32(gPlttBufferUnfaded + 0x50, gPlttBufferFaded + 0x50, 0x20); + } +} + +static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2) +{ + u8 bg = GetWindowAttribute(windowId, WINDOW_BG); + u16 *tilemap = GetBgTilemapBuffer(bg); + tilemap += arg2 * 0x40 + 0x1D; + if (sub_81CAEBC(arg1)) + { + tilemap[0] = 0x5000; + tilemap[0x20] = 0x5001; + } + else + { + tilemap[0] = 0x5002; + tilemap[0x20] = 0x5002; + } +} + +void sub_81CBD48(u16 windowId, u32 arg0) +{ + u8 bg = GetWindowAttribute(windowId, WINDOW_BG); + u16 *tilemap = GetBgTilemapBuffer(bg); + tilemap += arg0 * 0x40 + 0x1D; + tilemap[0] = 0x5002; + tilemap[0x20] = 0x5002; +} + +static void sub_81CBD78(struct Pokenav4Struct *state) +{ + state->unk10 = AddWindow(&gUnknown_086227D8); + state->unk12 = AddWindow(&gUnknown_086227E0); + FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); + PutWindowTilemap(state->unk10); + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + PutWindowTilemap(state->unk12); + CopyWindowToVram(state->unk10, 1); +} + +static void sub_81CBDC0(struct Pokenav4Struct *state) +{ + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + sub_81CBDF4(state->unk12); + sub_81CBE0C(state->unk12); + sub_81CBE38(state->unk12); + sub_81CBE50(state->unk12); + CopyWindowToVram(state->unk12, 2); +} + +static void sub_81CBDF4(u16 windowId) +{ + sub_81CBE88(windowId, gText_NumberRegistered, 0); +} + +static void sub_81CBE0C(u16 windowId) +{ + u8 str[3]; + ConvertIntToDecimalStringN(str, sub_81CAE38(), STR_CONV_MODE_LEFT_ALIGN, 3); + sub_81CBEB4(windowId, str, 1); +} + +static void sub_81CBE38(u16 windowId) +{ + sub_81CBE88(windowId, gText_NumberOfBattles, 2); +} + +static void sub_81CBE50(u16 windowId) +{ + u8 str[5]; + int numTrainerBattles = GetGameStat(GAME_STAT_TRAINER_BATTLES); + if (numTrainerBattles > 99999) + numTrainerBattles = 99999; + + ConvertIntToDecimalStringN(str, numTrainerBattles, STR_CONV_MODE_LEFT_ALIGN, 5); + sub_81CBEB4(windowId, str, 3); +} + +static void sub_81CBE88(u16 windowId, const u8 *str, int top) +{ + int y = top * 16 + 1; + AddTextPrinterParameterized(windowId, 7, str, 2, y, TEXT_SPEED_FF, NULL); +} + +static void sub_81CBEB4(u16 windowId, const u8 *str, int top) +{ + int x = GetStringRightAlignXOffset(7, str, 86); + int y = top * 16 + 1; + AddTextPrinterParameterized(windowId, 7, str, x, y, TEXT_SPEED_FF, NULL); +} + +static void sub_81CBEF8(struct Pokenav4Struct *state, int arg1) +{ + u8 mapName[32]; + int x; + int index = GetSelectedMatchCall() + arg1; + int regionMapSection = sub_81CAEA4(index); + if (regionMapSection != MAPSEC_NONE) + GetMapName(mapName, regionMapSection, 0); + else + StringCopy(mapName, gText_Unknown); + + x = GetStringCenterAlignXOffset(7, mapName, 88); + FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); + AddTextPrinterParameterized(state->unk10, 7, mapName, x, 1, 0, NULL); +} + +static void sub_81CBF60(struct Pokenav4Struct *state) +{ + u32 i; + + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + for (i = 0; i < 3; i++) + { + int messageId = sub_81CB02C(i); + if (messageId == 3) + break; + + AddTextPrinterParameterized(state->unk12, 7, gUnknown_086227E8[messageId], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); + } + + CopyWindowToVram(state->unk12, 2); +} + +static bool32 sub_81CBFC4(struct Pokenav4Struct *state) +{ + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_81CC2F0(state, sub_81CB01C()); + return FALSE; + } + + return TRUE; +} + +static void sub_81CBFF0(struct Pokenav4Struct *state) +{ + sub_81CC330(state); + sub_81CBDC0(state); +} + +static bool32 sub_81CC004(struct Pokenav4Struct *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CC014(struct Pokenav4Struct *state) +{ + sub_81CC330(state); + FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); + CopyWindowToVram(state->unk12, 2); +} + +static void sub_81CC034(struct Pokenav4Struct *state) +{ + state->unk14 = AddWindow(&gUnknown_08622808); + sub_8197184(state->unk14, 1, 4); + sub_81C7B40(); +} + +static void sub_81CC058(struct Pokenav4Struct *state) +{ + struct Sprite *sprite; + sub_8197184(state->unk14, 1, 4); + sub_81971C4(state->unk14, 1, 4); + FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); + PutWindowTilemap(state->unk14); + CopyWindowToVram(state->unk14, 3); + sprite = PauseSpinningPokenavSprite(); + sprite->pos1.x = 24; + sprite->pos1.y = 112; + sprite->pos2.y = 0; +} + +static void sub_81CC09C(struct Pokenav4Struct *state) +{ + LoadUserWindowBorderGfx(state->unk14, 1, 0x40); + DrawTextBorderOuter(state->unk14, 1, 4); + FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); + PutWindowTilemap(state->unk14); + CopyWindowToVram(state->unk14, 3); +} + +static bool32 sub_81CC0D0(struct Pokenav4Struct *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CC0E0(struct Pokenav4Struct *state) +{ + AddTextPrinterParameterized(state->unk14, 1, gUnknown_086227F4, 32, 1, 1, NULL); +} + +static bool32 sub_81CC104(struct Pokenav4Struct *state) +{ + RunTextPrinters(); + return IsTextPrinterActive(state->unk14); +} + +static void sub_81CC11C(struct Pokenav4Struct *state) +{ + AddTextPrinterParameterized(state->unk14, 1, gText_TrainerCloseBy, 0, 1, 1, NULL); +} + +static bool32 sub_81CC140(struct Pokenav4Struct *state) +{ + RunTextPrinters(); + return IsTextPrinterActive(state->unk14); +} + +static void sub_81CC158(struct Pokenav4Struct *state) +{ + int index = GetSelectedMatchCall(); + const u8 *str = sub_81CAF78(index, &state->unkF); + u8 speed = GetPlayerTextSpeedDelay(); + AddTextPrinterParameterized(state->unk14, 1, str, 32, 1, speed, NULL); +} + +static bool32 sub_81CC194(struct Pokenav4Struct *state) +{ + if (gMain.heldKeys & A_BUTTON) + gTextFlags.canABSpeedUpPrint = 1; + else + gTextFlags.canABSpeedUpPrint = 0; + + RunTextPrinters(); + return IsTextPrinterActive(state->unk14); +} + +static void sub_81CC1DC(struct Pokenav4Struct *state) +{ + ResumeSpinningPokenavSprite(); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20); + CopyBgTilemapBufferToVram(1); +} + +static bool32 sub_81CC204(struct Pokenav4Struct *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CC214(void) +{ + int i; + u8 paletteNum; + struct SpriteSheet spriteSheet; + struct Pokenav4Struct *state = GetSubstructPtr(6); + + for (i = 0; i < ARRAY_COUNT(gUnknown_08622810); i++) + LoadCompressedSpriteSheet(&gUnknown_08622810[i]); + + Pokenav_AllocAndLoadPalettes(gUnknown_08622818); + state->unk1C = NULL; + spriteSheet.data = state->unk1828; + spriteSheet.size = 0x800; + spriteSheet.tag = 8; + state->unk1824 = (u8 *)OBJ_VRAM0 + LoadSpriteSheet(&spriteSheet) * 0x20; + paletteNum = AllocSpritePalette(13); + state->unk1A = 0x100 + paletteNum * 0x10; + state->unk20 = sub_81CC370(); + state->unk20->invisible = 1; +} + +static void sub_81CC2B4(void) +{ + struct Pokenav4Struct *state = GetSubstructPtr(6); + if (state->unk1C) + DestroySprite(state->unk1C); + if (state->unk20) + DestroySprite(state->unk20); + + FreeSpriteTilesByTag(8); + FreeSpriteTilesByTag(7); + FreeSpritePaletteByTag(12); + FreeSpritePaletteByTag(13); +} + +static void sub_81CC2F0(struct Pokenav4Struct *state, int top) +{ + if (!state->unk1C) + { + u8 spriteId = CreateSprite(&gUnknown_08622830, 4, 80, 5); + state->unk1C = &gSprites[spriteId]; + sub_81CC344(state, top); + } +} + +static void sub_81CC330(struct Pokenav4Struct *state) +{ + DestroySprite(state->unk1C); + state->unk1C = NULL; +} + +static void sub_81CC344(struct Pokenav4Struct *state, int top) +{ + state->unk1C->pos2.y = top * 16; +} + +void sub_81CC34C(struct Sprite *sprite) +{ + if (++sprite->data[0] > 3) + { + sprite->data[0] = 0; + sprite->pos2.x = (sprite->pos2.x + 1) & 0x7; + } +} + +static struct Sprite *sub_81CC370(void) +{ + u8 spriteId = CreateSprite(&gUnknown_08622850, 44, 104, 6); + return &gSprites[spriteId]; +} + +static void sub_81CC39C(struct Pokenav4Struct *state) +{ + u16 cursor; + int trainerId = sub_81CAF04(GetSelectedMatchCall()); + if (trainerId >= 0) + { + DecompressPicFromTable(&gTrainerFrontPicTable[trainerId], state->unk1828, SPECIES_NONE); + LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerId].data, state->unk2028); + cursor = RequestDma3Copy(state->unk1828, state->unk1824, 0x800, 1); + LoadPalette(state->unk2028, state->unk1A, 0x20); + state->unk20->data[0] = 0; + state->unk20->data[7] = cursor; + state->unk20->callback = sub_81CC440; + } +} + +static void sub_81CC420(struct Pokenav4Struct *state) +{ + state->unk20->callback = sub_81CC4A4; +} + +static bool32 sub_81CC42C(struct Pokenav4Struct *state) +{ + return state->unk20->callback != SpriteCallbackDummy; +} + +static void sub_81CC440(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (CheckForSpaceForDma3Request(sprite->data[7]) != -1) + { + sprite->pos2.x = -80; + sprite->invisible = 0; + sprite->data[0]++; + } + break; + case 1: + sprite->pos2.x += 8; + if (sprite->pos2.x >= 0) + { + sprite->pos2.x = 0; + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +static void sub_81CC4A4(struct Sprite *sprite) +{ + sprite->pos2.x -= 8; + if (sprite->pos2.x <= -80) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } +} diff --git a/src/pokenav_unk_5.c b/src/pokenav_unk_5.c new file mode 100755 index 000000000..eccc200d5 --- /dev/null +++ b/src/pokenav_unk_5.c @@ -0,0 +1,636 @@ +#include "global.h" +#include "bg.h" +#include "decompress.h" +#include "landmark.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "pokenav.h" +#include "region_map.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "text_window.h" +#include "window.h" +#include "constants/songs.h" + +struct Pokenav5Struct +{ + u8 filler0[0xC]; + bool32 unkC; + u32 (*unk10)(struct Pokenav5Struct *); +}; + +struct Pokenav5Struct_2 +{ + bool32 (*unk0)(void); + u32 unk4; + u16 unk8; + struct Sprite *cityFeatureTextSprites[3]; + u8 unk18[0x800]; + u8 cityZoomPics[22][0xC8]; +}; + +struct CityZoomPic +{ + u16 mapSecId; + u16 unk2; + const u32 *data; +}; + +static u32 sub_81CC568(struct Pokenav5Struct *); +static u32 sub_81CC5B4(struct Pokenav5Struct *); +static u32 sub_81CC5DC(struct Pokenav5Struct *); +static u32 sub_81CC6F4(int); +static u32 sub_81CCD34(int); +static bool32 sub_81CC6BC(void); +static void sub_81CC9EC(void); +static void sub_81CC9C0(void); +static void sub_81CCD10(void); +static bool32 sub_81CCD24(void); +static void sub_81CCA1C(struct Pokenav5Struct_2 *); +static bool32 sub_81CCAFC(void); +static void sub_81CCB0C(struct Pokenav5Struct_2 *); +static bool32 sub_81CCC4C(struct Pokenav5Struct_2 *); +static void sub_81CCC5C(int); +static bool32 sub_81CCC88(void); +static void sub_81CCE58(void); +static void sub_81CCD70(struct Pokenav5Struct_2 *, int, int); +static void sub_81CCDE8(struct Pokenav5Struct_2 *, int, int); +static void sub_81CCFA4(int); +static void sub_81CCC9C(u8 taskId); +static void sub_81CCF78(void); + +extern const LoopedTask gUnknown_086230E4[]; +extern const struct BgTemplate gUnknown_086230D8[2]; +extern const struct CompressedSpriteSheet gUnknown_086230F8[1]; +extern const struct SpritePalette gUnknown_08623100[]; +extern const struct WindowTemplate gUnknown_08623110; +extern const u32 gUnknown_08622888[]; +extern const u16 gUnknown_08622868[]; +extern const u16 gHoennMapZoomIcons_Pal[]; +extern const struct CityZoomPic gUnknown_08623118[22]; +extern const struct SpriteTemplate gUnknown_086231D0; + +u32 sub_81CC4D4(void) +{ + struct Pokenav5Struct *state = AllocSubstruct(3, sizeof(struct Pokenav5Struct)); + if (!state) + return FALSE; + + if (!AllocSubstruct(16, sizeof(struct RegionMap))) + return FALSE; + + state->unkC = sub_8124668(gMapHeader.regionMapSectionId); + if (!state->unkC) + state->unk10 = sub_81CC568; + else + state->unk10 = sub_81CC5B4; + + return TRUE; +} + +void sub_81CC524(void) +{ + gSaveBlock2Ptr->regionMapZoom = sub_8124658(); + FreePokenavSubstruct(16); + FreePokenavSubstruct(3); +} + +u32 sub_81CC554(void) +{ + struct Pokenav5Struct *state = GetSubstructPtr(3); + state->unk10(state); +} + +static u32 sub_81CC568(struct Pokenav5Struct *state) +{ + switch (sub_81230AC()) + { + case 3: + return 1; + case 4: + if (!sub_8124658()) + return 3; + return 2; + case 5: + state->unk10 = sub_81CC5DC; + return 4; + } + + return 0; +} + +static u32 sub_81CC5B4(struct Pokenav5Struct *state) +{ + if (gMain.newKeys & B_BUTTON) + { + state->unk10 = sub_81CC5DC; + return 4; + } + + return 0; +} + +static u32 sub_81CC5DC(struct Pokenav5Struct *state) +{ + return POKENAV_MENU_1; +} + +bool32 sub_81CC5E4(void) +{ + struct Pokenav5Struct *state = GetSubstructPtr(3); + return state->unkC; +} + +bool32 sub_81CC5F4(void) +{ + struct Pokenav5Struct_2 *state = AllocSubstruct(4, sizeof(struct Pokenav5Struct_2)); + if (!state) + return FALSE; + + state->unk4 = CreateLoopedTask(sub_81CC6F4, 1); + state->unk0 = sub_81CC6BC; + return TRUE; +} + +void sub_81CC62C(int index) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + state->unk4 = CreateLoopedTask(gUnknown_086230E4[index], 1); + state->unk0 = sub_81CC6BC; +} + +u32 sub_81CC65C(void) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + return state->unk0(); +} + +void sub_81CC670(void) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + FreeRegionMapIconResources(); + sub_81CC9EC(); + RemoveWindow(state->unk8); + FreePokenavSubstruct(16); + FreePokenavSubstruct(4); + SetPokenavVBlankCallback(); + SetBgMode(0); +} + +static void sub_81CC6A4(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); + UpdateRegionMapVideoRegs(); +} + +static bool32 sub_81CC6BC(void) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + return IsLoopedTaskActive(state->unk4); +} + +static bool8 sub_81CC6D0(void) +{ + if (sub_81CC5E4()) + return FALSE; + + return gSaveBlock2Ptr->regionMapZoom == 1; +} + +static u32 sub_81CC6F4(int taskState) +{ + int var0; + struct RegionMap *regionMap; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + switch (taskState) + { + case 0: + SetVBlankCallback_(NULL); + HideBg(1); + HideBg(2); + HideBg(3); + SetBgMode(1); + InitBgTemplates(gUnknown_086230D8, ARRAY_COUNT(gUnknown_086230D8)); + regionMap = GetSubstructPtr(16); + sub_8122CF8(regionMap, &gUnknown_086230D8[1], sub_81CC6D0()); + sub_81CC9C0(); + return 0; + case 1: + if (sub_8122DB0()) + return 2; + + if (!sub_81CC5E4()) + { + CreateRegionMapPlayerIcon(4, 9); + CreateRegionMapCursor(5, 10); + sub_812454C(); + } + else + { + sub_8123030(0, 6); + } + return 0; + case 2: + sub_81CCD10(); + return 1; + case 3: + if (sub_81CCD24()) + return 2; + + sub_81CCA1C(state); + return 1; + case 4: + if (sub_81CCAFC()) + return 2; + + sub_81CCB0C(state); + sub_81C7B40(); + return 0; + case 5: + if (sub_81CCC4C(state)) + return 2; + + ShowBg(1); + ShowBg(2); + SetVBlankCallback_(sub_81CC6A4); + return 0; + case 6: + if (!sub_81CC6D0()) + var0 = 4; + else + var0 = 5; + + LoadLeftHeaderGfxForIndex(var0); + sub_81C7FA0(var0, 1, 1); + sub_81C7AC0(1); + return 0; + case 7: + if (IsPaletteFadeActive() || sub_81C8010()) + return 2; + return 1; + default: + return 4; + } +} + +u32 sub_81CC848(int taskState) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + switch (taskState) + { + case 0: + sub_81CCB0C(state); + return 0; + case 1: + if (sub_81CCC4C(state)) + return 2; + break; + } + + return 4; +} + +u32 sub_81CC878(int taskState) +{ + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CCC5C(0); + sub_8123418(); + return 0; + case 1: + if (sub_8123514() || sub_81CCC88()) + return 2; + + sub_81C7BA4(1); + return 0; + case 2: + if (IsDma3ManagerBusyWithBgCopy_()) + return 2; + + sub_81C7E14(4); + break; + } + + return 4; +} + +u32 sub_81CC8D8(int taskState) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81CCB0C(state); + return 0; + case 1: + if (sub_81CCC4C(state)) + return 2; + + sub_81CCC5C(1); + sub_8123418(); + return 0; + case 2: + if (sub_8123514() || sub_81CCC88()) + return 2; + + sub_81C7BA4(2); + return 0; + case 3: + if (IsDma3ManagerBusyWithBgCopy_()) + return 2; + + sub_81C7E14(5); + break; + } + + return 4; +} + +u32 sub_81CC95C(int taskState) +{ + switch (taskState) + { + case 0: + PlaySE(SE_SELECT); + sub_81C7AC0(0); + return 0; + case 1: + if (IsPaletteFadeActive()) + return 2; + + sub_81C7FDC(); + sub_81C78A0(); + return 0; + case 2: + if (MainMenuLoopedTaskIsBusy()) + return 2; + + HideBg(1); + HideBg(2); + HideBg(3); + return 0; + } + + return 4; +} + +static void sub_81CC9C0(void) +{ + int i; + for (i = 0; i < ARRAY_COUNT(gUnknown_086230F8); i++) + LoadCompressedSpriteSheet(&gUnknown_086230F8[i]); + + Pokenav_AllocAndLoadPalettes(gUnknown_08623100); + sub_81CCE58(); +} + +static void sub_81CC9EC(void) +{ + int i; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + FreeSpriteTilesByTag(6); + FreeSpritePaletteByTag(11); + for (i = 0; i < 3; i++) + DestroySprite(state->cityFeatureTextSprites[i]); +} + +static void sub_81CCA1C(struct Pokenav5Struct_2 *state) +{ + sub_8199DF0(1, PIXEL_FILL(0), 0x40, 1); + sub_8199DF0(1, PIXEL_FILL(1), 0x41, 1); + CpuFill16(0x1040, state->unk18, 0x800); + SetBgTilemapBuffer(1, state->unk18); + state->unk8 = AddWindow(&gUnknown_08623110); + LoadUserWindowBorderGfx_(state->unk8, 0x42, 0x40); + DrawTextBorderOuter(state->unk8, 0x42, 4); + decompress_and_copy_tile_data_to_vram(1, gUnknown_08622888, 0, 0, 0); + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowTilemap(state->unk8); + CopyWindowToVram(state->unk8, 3); + CopyPaletteIntoBufferUnfaded(gUnknown_08622868, 0x10, 0x20); + CopyPaletteIntoBufferUnfaded(gHoennMapZoomIcons_Pal, 0x30, 0x20); + if (!sub_8124658()) + ChangeBgY(1, -0x6000, 0); + else + ChangeBgY(1, 0, 0); + + ChangeBgX(1, 0, 0); +} + +static bool32 sub_81CCAFC(void) +{ + return free_temp_tile_data_buffers_if_possible(); +} + +static void sub_81CCB0C(struct Pokenav5Struct_2 *state) +{ + struct RegionMap *regionMap = GetSubstructPtr(16); + switch (regionMap->iconDrawType) + { + case MAPSECTYPE_CITY_CANFLY: + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowRectTilemap(state->unk8, 0, 0, 12, 2); + AddTextPrinterParameterized(state->unk8, 7, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL); + sub_81CCD70(state, regionMap->mapSecId, regionMap->posWithinMapSec); + CopyWindowToVram(state->unk8, 3); + sub_81CCFA4(0); + break; + case MAPSECTYPE_CITY_CANTFLY: + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowRectTilemap(state->unk8, 0, 0, 12, 2); + AddTextPrinterParameterized(state->unk8, 7, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL); + FillBgTilemapBufferRect(1, 0x1041, 17, 6, 12, 11, 17); + CopyWindowToVram(state->unk8, 3); + sub_81CCFA4(1); + break; + case MAPSECTYPE_PLAIN: + case MAPSECTYPE_BATTLE_FRONTIER: + FillWindowPixelBuffer(state->unk8, PIXEL_FILL(1)); + PutWindowTilemap(state->unk8); + AddTextPrinterParameterized(state->unk8, 7, regionMap->mapSecName, 0, 1, TEXT_SPEED_FF, NULL); + sub_81CCDE8(state, regionMap->mapSecId, regionMap->posWithinMapSec); + CopyWindowToVram(state->unk8, 3); + sub_81CCFA4(1); + break; + case MAPSECTYPE_NONE: + FillBgTilemapBufferRect(1, 0x1041, 17, 4, 12, 13, 17); + CopyBgTilemapBufferToVram(1); + sub_81CCFA4(1); + break; + } +} + +static bool32 sub_81CCC4C(struct Pokenav5Struct_2 *state) +{ + return IsDma3ManagerBusyWithBgCopy(); +} + +static void sub_81CCC5C(int arg0) +{ + u8 taskId = CreateTask(sub_81CCC9C, 3); + gTasks[taskId].data[0] = arg0; +} + +static bool32 sub_81CCC88(void) +{ + return FuncIsActiveTask(sub_81CCC9C); +} + +static void sub_81CCC9C(u8 taskId) +{ + if (gTasks[taskId].data[0]) + { + if (ChangeBgY(1, 0x480, 1) >= 0) + { + ChangeBgY(1, 0, 0); + DestroyTask(taskId); + } + + sub_81CCF78(); + } + else + { + if (ChangeBgY(1, 0x480, 2) <= -0x6000) + { + ChangeBgY(1, -0x6000, 0); + DestroyTask(taskId); + } + + sub_81CCF78(); + } +} + +static void sub_81CCD10(void) +{ + CreateLoopedTask(sub_81CCD34, 1); +} + +static bool32 sub_81CCD24(void) +{ + return FuncIsActiveLoopedTask(sub_81CCD34); +} + +static u32 sub_81CCD34(int taskState) +{ + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + if (taskState < (int)ARRAY_COUNT(gUnknown_08623118)) + { + LZ77UnCompWram(gUnknown_08623118[taskState].data, state->cityZoomPics[taskState]); + return 1; + } + + return 4; +} + +static void sub_81CCD70(struct Pokenav5Struct_2 *state, int mapSecId, int pos) +{ + int i; + for (i = 0; i < (int)ARRAY_COUNT(gUnknown_08623118) && (gUnknown_08623118[i].mapSecId != mapSecId || gUnknown_08623118[i].unk2 != pos); i++) + ; + + if (i == ARRAY_COUNT(gUnknown_08623118)) + return; + + FillBgTilemapBufferRect_Palette0(1, 0x1041, 17, 6, 12, 11); + CopyToBgTilemapBufferRect(1, state->cityZoomPics[i], 18, 6, 10, 10); +} + +static void sub_81CCDE8(struct Pokenav5Struct_2 *state, int mapSecId, int pos) +{ + int i = 0; + while (1) + { + const u8 *landmarkName = GetLandmarkName(mapSecId, pos, i); + if (!landmarkName) + break; + + StringCopyPadded(gStringVar1, landmarkName, CHAR_SPACE, 12); + AddTextPrinterParameterized(state->unk8, 7, gStringVar1, 0, i * 16 + 17, TEXT_SPEED_FF, NULL); + i++; + } +} + +static void sub_81CCE58(void) +{ + int i; + int y; + struct Sprite *sprite; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + + if (!sub_8124658()) + y = 228; + else + y = 132; + + for (i = 0; i < 3; i++) + { + u8 spriteId = CreateSprite(&gUnknown_086231D0, 152 + i * 32, y, 8); + sprite = &gSprites[spriteId]; + sprite->data[0] = 0; + sprite->data[1] = i * 4; + sprite->data[2] = sprite->oam.tileNum; + sprite->data[3] = 150; + sprite->data[4] = i * 4; + sprite->oam.tileNum += i * 4; + state->cityFeatureTextSprites[i] = sprite; + } +} + +void sub_81CCEF4(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->data[3]--; + return; + } + + if (++sprite->data[0] > 11) + sprite->data[0] = 0; + + if (++sprite->data[1] > 60) + sprite->data[1] = 0; + + sprite->oam.tileNum = sprite->data[2] + sprite->data[1]; + if (sprite->data[5] < 4) + { + if (sprite->data[0] == 0) + { + sprite->data[5]++; + sprite->data[3] = 120; + } + } + else + { + if (sprite->data[1] == sprite->data[4]) + { + sprite->data[5] = 0; + sprite->data[0] = 0; + sprite->data[3] = 120; + } + } +} + +static void sub_81CCF78(void) +{ + int i; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + int y = 132 - (GetBgY(1) >> 8); + for (i = 0; i < 3; i++) + state->cityFeatureTextSprites[i]->pos1.y = y; +} + +static void sub_81CCFA4(int invisible) +{ + int i; + struct Pokenav5Struct_2 *state = GetSubstructPtr(4); + for (i = 0; i < 3; i++) + state->cityFeatureTextSprites[i]->invisible = invisible; +} diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index e2497a8dc..fc2860797 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1563,7 +1563,7 @@ static void Task_DuoFightAnim(u8 taskId) } BlendPalettes(-1, 0x10, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(VBlankCB_DuoFight); PlaySE(SE_T_OOAME); } @@ -1715,7 +1715,7 @@ static void sub_81D752C(u8 taskId) static void DuoFightEnd(u8 taskId, s8 palDelay) { PlaySE(SE_T_OOAME_E); - BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_DuoFightEnd; } @@ -1971,7 +1971,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[2] = 0; data[3] = 30; data[4] = 0; @@ -2012,7 +2012,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) if (data[1] > 295) { data[0]++; - BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, RGB_BLACK); } } break; @@ -2174,7 +2174,7 @@ static void Task_HandleRayDescends(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[1] = 0; data[0]++; } @@ -2219,7 +2219,7 @@ static void Task_HandleRayDescends(u8 taskId) } break; case 4: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_RayDescendsEnd; break; } @@ -2366,7 +2366,7 @@ static void Task_HandleRayCharges(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[1] = 0; data[0]++; } @@ -2399,7 +2399,7 @@ static void Task_HandleRayCharges(u8 taskId) } break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_RayChargesEnd; break; } @@ -2532,7 +2532,7 @@ static void Task_HandleRayChasesAway(u8 taskId) if (data[1] == 8) { sub_81D90A8(taskId); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); data[1] = 0; data[0]++; } @@ -2574,7 +2574,7 @@ static void Task_HandleRayChasesAway(u8 taskId) } break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_RayChasesAwayEnd; break; } diff --git a/src/record_mixing.c b/src/record_mixing.c index 3a16f817e..85b52e478 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -47,7 +47,7 @@ struct RecordMixingHallRecords struct PlayerRecordsRS { - struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + struct SecretBase secretBases[SECRET_BASES_COUNT]; TVShow tvShows[TV_SHOWS_COUNT]; PokeNews pokeNews[POKE_NEWS_COUNT]; OldMan oldMan; @@ -60,7 +60,7 @@ struct PlayerRecordsRS struct PlayerRecordsEmerald { - /* 0x0000 */ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT]; + /* 0x0000 */ struct SecretBase secretBases[SECRET_BASES_COUNT]; /* 0x0c80 */ TVShow tvShows[TV_SHOWS_COUNT]; /* 0x1004 */ PokeNews pokeNews[POKE_NEWS_COUNT]; /* 0x1044 */ OldMan oldMan; @@ -83,7 +83,7 @@ union PlayerRecords // Static RAM declarations static IWRAM_DATA bool8 gUnknown_03001130; -static IWRAM_DATA struct SecretBaseRecord *sSecretBasesSave; +static IWRAM_DATA struct SecretBase *sSecretBasesSave; static IWRAM_DATA TVShow *sTvShowsSave; static IWRAM_DATA PokeNews *sPokeNewsSave; static IWRAM_DATA OldMan *sOldManSave; @@ -208,7 +208,7 @@ static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest) static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest) { memcpy(dest->secretBases, sSecretBasesSave, sizeof(dest->secretBases)); - sub_80EB18C(dest->secretBases); + ClearJapaneseSecretBases(dest->secretBases); memcpy(dest->tvShows, sTvShowsSave, sizeof(dest->tvShows)); sub_80F1208(dest->tvShows); memcpy(dest->pokeNews, sPokeNewsSave, sizeof(dest->pokeNews)); @@ -226,7 +226,7 @@ static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest) static void PrepareExchangePacket(void) { - sub_80E9914(); + SetPlayerSecretBaseParty(); sub_80F0BB8(); SetSrcLookupPointers(); diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 9f2be36af..ac97dfcd6 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -17,6 +17,7 @@ #include "battle_setup.h" #include "frontier_util.h" #include "constants/trainers.h" +#include "constants/rgb.h" #define BATTLER_RECORD_SIZE 664 #define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ @@ -220,7 +221,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah ResetPaletteFadeControl(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_QuitRecordedBattle); return 0xFF; } diff --git a/src/region_map.c b/src/region_map.c index 25b47479d..a98964e5c 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -26,6 +26,7 @@ #include "heal_location.h" #include "constants/heal_locations.h" #include "constants/map_types.h" +#include "constants/rgb.h" #define MAP_WIDTH 28 #define MAP_HEIGHT 15 @@ -492,7 +493,7 @@ void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed) while (sub_8122DB0()); } -void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed) +void sub_8122CF8(struct RegionMap *regionMap, const struct BgTemplate *template, bool8 zoomed) { gRegionMap = regionMap; gRegionMap->initStep = 0; @@ -1941,7 +1942,7 @@ static void sub_8124D14(void) switch (sFlyMap->unk_004) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); sFlyMap->unk_004++; break; case 1: @@ -1988,7 +1989,7 @@ static void sub_8124E0C(void) switch (sFlyMap->unk_004) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); sFlyMap->unk_004++; break; case 1: diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 6ee757607..d675c49d1 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -17,6 +17,7 @@ #include "bg.h" #include "window.h" #include "gpu_regs.h" +#include "constants/rgb.h" struct ResetRtcStruct { @@ -552,7 +553,7 @@ static void Task_ResetRtcScreen(u8 taskId) switch (data[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, RGB_WHITEALPHA); data[0] = 1; break; case 1: @@ -621,7 +622,7 @@ static void Task_ResetRtcScreen(u8 taskId) case 5: if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, RGB_WHITEALPHA); data[0] = 6; } else diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index dd177f884..46fc4cd41 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -15,9 +15,7 @@ #include "constants/trainers.h" #include "battle_interface.h" #include "battle_anim.h" -#include "data2.h" - -extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; +#include "data.h" // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); @@ -154,7 +152,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) if (gWirelessCommType != 0 && gReceivedRemoteLinkPlayers != 0) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } } @@ -233,7 +231,7 @@ static void CreateBattlerSprite(u8 battler) StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) { @@ -269,7 +267,7 @@ static void CreateBattlerSprite(u8 battler) StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; } gSprites[gBattlerSpriteIds[battler]].invisible = gBattleSpritesDataPtr->battlerData[battler].invisible; diff --git a/src/rock.c b/src/rock.c index 814b1d88b..f05816362 100644 --- a/src/rock.c +++ b/src/rock.c @@ -419,7 +419,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) sub_80A6B30(&animBg); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset); sub_80A6D60(&animBg, gUnknown_08D8D410, 0); - LoadCompressedPalette(gBattleAnimSpritePalette_261, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; diff --git a/src/roulette.c b/src/roulette.c index 39db5630b..25c079cda 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -902,7 +902,7 @@ static void sub_8140470(void) { sub_815168C(&gUnknown_0203AB88->varB8, i, &gUnknown_085B6388[i]); } - + for (i = 0; i < PARTY_SIZE; i++) { switch (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2)) @@ -953,7 +953,7 @@ static void sub_81405CC(void) case 4: if (free_temp_tile_data_buffers_if_possible()) return; - + sub_8140470(); CopyToBgTilemapBuffer(2, gUnknown_085B5FA0, 0, 0); break; @@ -1379,8 +1379,6 @@ static u8 sub_814118C(u16 r0, u16 r1) } } -// r7/r8 swap -#ifdef NONMATCHING static void sub_8141344(u8 taskId) { u8 randf; @@ -1412,8 +1410,7 @@ static void sub_8141344(u8 taskId) g = S16TOPOSFLOAT(g) / 5.0f; gUnknown_0203AB88->var82 = g * 3; - gUnknown_0203AB88->var84 = g; - gUnknown_0203AB88->var86 = g; + gUnknown_0203AB88->var86 = gUnknown_0203AB88->var84 = g; gUnknown_0203AB88->var88 = S16TOPOSFLOAT(angles[(rand & 1) + r5]); gUnknown_0203AB88->var8C = S16TOPOSFLOAT(gUnknown_085B6348[gUnknown_0203AB88->var04_0].var18); @@ -1424,260 +1421,6 @@ static void sub_8141344(u8 taskId) gUnknown_0203AB88->varA0 = 36.0f; gTasks[taskId].func = sub_814155C; } -#else -static const u16 gUnknown_085B6422[4] = {0, 180, 90, 270}; -NAKED -static void sub_8141344(u8 taskId) -{ - asm_unified(" push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r10, r0\n\ - movs r4, 0\n\ - ldr r1, =gUnknown_085B6422\n\ - mov r0, sp\n\ - movs r2, 0x8\n\ - bl memcpy\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r7, r0, 16\n\ - adds r0, r7, 0\n\ - movs r1, 0x64\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - ldr r3, =gUnknown_0203AB88\n\ - ldr r0, [r3]\n\ - ldr r2, =gTasks\n\ - mov r5, r10\n\ - lsls r1, r5, 2\n\ - add r1, r10\n\ - lsls r1, 3\n\ - adds r1, r2\n\ - ldrh r2, [r1, 0x14]\n\ - adds r0, 0x7C\n\ - strb r2, [r0]\n\ - ldr r0, [r3]\n\ - adds r2, r0, 0\n\ - adds r2, 0x7F\n\ - strb r4, [r2]\n\ - subs r2, 0x1\n\ - strb r4, [r2]\n\ - adds r0, 0x7D\n\ - strb r4, [r0]\n\ - ldrh r0, [r1, 0x18]\n\ - adds r1, r7, 0\n\ - bl sub_814118C\n\ - adds r4, r0, 0\n\ - lsls r4, 24\n\ - lsrs r1, r4, 24\n\ - adds r0, r7, 0\n\ - bl __modsi3\n\ - lsrs r4, 25\n\ - subs r0, r4\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - ldr r0, =gLocalTime\n\ - ldrb r0, [r0, 0x2]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - movs r5, 0x1\n\ - cmp r0, 0xC\n\ - bgt _081413C8\n\ - movs r5, 0\n\ -_081413C8:\n\ - cmp r6, 0x4F\n\ - bhi _081413E0\n\ - lsls r0, r5, 25\n\ - b _081413EA\n\ - .pool\n\ -_081413E0:\n\ - lsls r1, r5, 24\n\ - asrs r1, 24\n\ - movs r0, 0x1\n\ - subs r0, r1\n\ - lsls r0, 25\n\ -_081413EA:\n\ - lsrs r5, r0, 24\n\ - ldr r0, _08141530 @ =gUnknown_0203AB88\n\ - ldr r6, [r0]\n\ - ldrb r0, [r6, 0x4]\n\ - lsls r0, 30\n\ - lsrs r0, 25\n\ - ldr r1, _08141534 @ =gUnknown_085B6348\n\ - adds r0, r1\n\ - lsls r4, 24\n\ - asrs r4, 24\n\ - ldrh r0, [r0, 0x1A]\n\ - adds r4, r0\n\ - adds r0, r6, 0\n\ - adds r0, 0x80\n\ - strh r4, [r0]\n\ - lsls r4, 16\n\ - asrs r4, 16\n\ - adds r0, r4, 0\n\ - bl __floatsisf\n\ - cmp r4, 0\n\ - bge _0814141C\n\ - ldr r1, _08141538 @ =0x47800000\n\ - bl __addsf3\n\ -_0814141C:\n\ - ldr r1, _0814153C @ =0x40A00000\n\ - bl __divsf3\n\ - bl __fixunssfsi\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - lsls r0, r4, 1\n\ - adds r0, r4\n\ - movs r2, 0x82\n\ - adds r2, r6\n\ - mov r8, r2\n\ - strh r0, [r2]\n\ - adds r0, r6, 0\n\ - adds r0, 0x84\n\ - strh r4, [r0]\n\ - adds r0, 0x2\n\ - strh r4, [r0]\n\ - movs r0, 0x88\n\ - adds r0, r6\n\ - mov r9, r0\n\ - movs r0, 0x1\n\ - ands r0, r7\n\ - lsls r1, r5, 24\n\ - asrs r1, 24\n\ - adds r0, r1\n\ - lsls r0, 1\n\ - add r0, sp\n\ - movs r1, 0\n\ - ldrsh r4, [r0, r1]\n\ - adds r0, r4, 0\n\ - bl __floatsisf\n\ - cmp r4, 0\n\ - bge _08141468\n\ - ldr r1, _08141538 @ =0x47800000\n\ - bl __addsf3\n\ -_08141468:\n\ - mov r2, r9\n\ - str r0, [r2]\n\ - adds r7, r6, 0\n\ - adds r7, 0x8C\n\ - ldrb r0, [r6, 0x4]\n\ - lsls r0, 30\n\ - lsrs r0, 25\n\ - ldr r5, _08141534 @ =gUnknown_085B6348\n\ - adds r0, r5\n\ - movs r1, 0x18\n\ - ldrsh r4, [r0, r1]\n\ - adds r0, r4, 0\n\ - bl __floatsisf\n\ - adds r5, r0, 0\n\ - cmp r4, 0\n\ - bge _08141492\n\ - ldr r1, _08141538 @ =0x47800000\n\ - bl __addsf3\n\ - adds r5, r0, 0\n\ -_08141492:\n\ - str r5, [r7]\n\ - adds r7, r6, 0\n\ - adds r7, 0x90\n\ - ldr r1, _08141540 @ =0x3F000000\n\ - adds r0, r5, 0\n\ - bl __mulsf3\n\ - adds r1, r5, 0\n\ - bl __subsf3\n\ - adds r5, r0, 0\n\ - mov r2, r8\n\ - movs r0, 0\n\ - ldrsh r4, [r2, r0]\n\ - adds r0, r4, 0\n\ - bl __floatsisf\n\ - adds r2, r0, 0\n\ - cmp r4, 0\n\ - bge _081414C2\n\ - ldr r1, _08141538 @ =0x47800000\n\ - bl __addsf3\n\ - adds r2, r0, 0\n\ -_081414C2:\n\ - adds r0, r5, 0\n\ - adds r1, r2, 0\n\ - bl __divsf3\n\ - str r0, [r7]\n\ - adds r1, r6, 0\n\ - adds r1, 0x94\n\ - ldr r0, _08141544 @ =0x42880000\n\ - str r0, [r1]\n\ - adds r1, 0x8\n\ - ldr r0, _08141548 @ =0x00000000\n\ - str r0, [r1]\n\ - adds r5, r6, 0\n\ - adds r5, 0x98\n\ - mov r1, r8\n\ - movs r2, 0\n\ - ldrsh r4, [r1, r2]\n\ - adds r0, r4, 0\n\ - bl __floatsisf\n\ - adds r2, r0, 0\n\ - cmp r4, 0\n\ - bge _081414F8\n\ - ldr r1, _08141538 @ =0x47800000\n\ - bl __addsf3\n\ - adds r2, r0, 0\n\ -_081414F8:\n\ - ldr r0, _0814154C @ =0x41000000\n\ - adds r1, r2, 0\n\ - bl __divsf3\n\ - bl __negsf2\n\ - str r0, [r5]\n\ - adds r1, r6, 0\n\ - adds r1, 0xA0\n\ - ldr r0, _08141550 @ =0x42100000\n\ - str r0, [r1]\n\ - ldr r1, _08141554 @ =gTasks\n\ - mov r5, r10\n\ - lsls r0, r5, 2\n\ - add r0, r10\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldr r1, _08141558 @ =sub_814155C\n\ - str r1, [r0]\n\ - add sp, 0x8\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08141530:\n\ - .4byte gUnknown_0203AB88\n\ -_08141534:\n\ - .4byte gUnknown_085B6348\n\ -_08141538:\n\ - .4byte 0x47800000\n\ -_0814153C:\n\ - .4byte 0x40A00000\n\ -_08141540:\n\ - .4byte 0x3F000000\n\ -_08141544:\n\ - .4byte 0x42880000\n\ -_08141548:\n\ - .4byte 0x00000000\n\ -_0814154C:\n\ - .4byte 0x41000000\n\ -_08141550:\n\ - .4byte 0x42100000\n\ -_08141554:\n\ - .4byte gTasks\n\ -_08141558:\n\ - .4byte sub_814155C"); -} -#endif // NONMATCHING static void sub_814155C(u8 taskId) { @@ -4345,17 +4088,17 @@ static void sub_81448B8(struct Sprite *sprite) gUnknown_0203AB88->var38 = sprite; } -#ifdef NONMATCHING static void sub_8144A24(struct Sprite *sprite) { u8 z; u16 o; - u8 h = 0; // r10 (sp+0xc) - u8 j = 5; // r9 (r9) - u8 p = 0; // sp+0xc (sp+0x10) - u8 i; - u8 s[10] = {}; // sp+0 (sp+0) - u16 t = Random(); // sp+0x10 (r10) + u8 h = 0; + u8 j = 5; + u8 p = 0; + u8 i = 0; + u8 val; + u8 s[10] = {}; + u16 rand = Random(); gUnknown_0203AB88->var7D = 1; gUnknown_0203AB88->var03_5 = TRUE; @@ -4364,13 +4107,14 @@ static void sub_8144A24(struct Sprite *sprite) gUnknown_0203AB88->var88 = sprite->data[3]; gUnknown_0203AB88->var98 = 0.0f; gUnknown_0203AB88->var8C = gUnknown_085B6348[gUnknown_0203AB88->var04_0].var1C; + o = (gUnknown_0203AB88->var04_0 * 30 + 33) + (0x1 - gUnknown_0203AB88->var03_0) * 15; for (i = 0; i < 4; i++) { if (o < sprite->data[3] && sprite->data[3] <= o + 90) { sprite->data[0] = i / 2; - gUnknown_0203AB88->var03_0 = i & 1; + gUnknown_0203AB88->var03_0 = i % 2; break; } if (i == 3) @@ -4381,354 +4125,52 @@ static void sub_8144A24(struct Sprite *sprite) } o += 90; } + if (gUnknown_0203AB88->var03_0) { if (sprite->data[0]) - { PlayCry1(SPECIES_TAILLOW, -63); - } else - { PlayCry1(SPECIES_TAILLOW, 63); - } } else { PlayCry1(SPECIES_SHROOMISH, -63); } - i = 2; + + val = 2; z = (gUnknown_0203AB88->var7F + 2) % 12; + if (gUnknown_0203AB88->var03_0 == 1 && gUnknown_0203AB88->var04_0 == 1) j += 6; else - j += i; - for (; i < j; i++) + j += val; + + for (i = val; i < j; i++) { if (!(gUnknown_0203AB88->var08 & gUnknown_085B62E4[z].var04)) { s[h++] = i; - if (!p && (gUnknown_085B62E4[z].var04 & gUnknown_085B6154[gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]].var00)) - { + if (p == 0 && (gUnknown_085B62E4[z].var04 & gUnknown_085B6154[gUnknown_0203AB88->var1B[gUnknown_0203AB88->var1A_0]].var0C)) p = i; - } } z = (z + 1) % 0xC; } + if ((gUnknown_0203AB88->var03_0 + 1) & gUnknown_0203AB88->var02) { - if (p && (t & 0xFF) < 0xc0) - { + if (p && (rand & 0xFF) < 0xc0) sprite->data[7] = p; - } else - { - sprite->data[7] = s[t % h]; - } + sprite->data[7] = s[rand % h]; } else { - sprite->data[7] = s[t % h]; + sprite->data[7] = s[rand % h]; } + sprite->callback = sub_8144168; } -#else -NAKED -static void sub_8144A24(struct Sprite *sprite) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x14\n\ - adds r7, r0, 0\n\ - movs r0, 0\n\ - mov r9, r0\n\ - movs r1, 0x5\n\ - mov r8, r1\n\ - str r0, [sp, 0xC]\n\ - mov r0, sp\n\ - movs r1, 0\n\ - movs r2, 0xA\n\ - bl memset\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0x10]\n\ - ldr r3, _08144B10 @ =gUnknown_0203AB88\n\ - ldr r0, [r3]\n\ - adds r0, 0x7D\n\ - movs r5, 0x1\n\ - strb r5, [r0]\n\ - ldr r2, [r3]\n\ - ldrb r0, [r2, 0x3]\n\ - movs r1, 0x20\n\ - orrs r0, r1\n\ - strb r0, [r2, 0x3]\n\ - ldr r2, [r3]\n\ - ldrb r1, [r2, 0x3]\n\ - movs r0, 0x41\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r2, 0x3]\n\ - ldr r0, [r3]\n\ - adds r0, 0x7E\n\ - movs r1, 0xFF\n\ - strb r1, [r0]\n\ - ldr r6, [r3]\n\ - adds r4, r6, 0\n\ - adds r4, 0x88\n\ - movs r1, 0x34\n\ - ldrsh r0, [r7, r1]\n\ - bl __floatsisf\n\ - str r0, [r4]\n\ - adds r1, r6, 0\n\ - adds r1, 0x98\n\ - ldr r0, _08144B14 @ =0x00000000\n\ - str r0, [r1]\n\ - adds r2, r6, 0\n\ - adds r2, 0x8C\n\ - ldr r1, _08144B18 @ =gUnknown_085B6348\n\ - ldrb r0, [r6, 0x4]\n\ - lsls r0, 30\n\ - lsrs r0, 25\n\ - adds r1, 0x1C\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - str r0, [r2]\n\ - ldrb r0, [r6, 0x4]\n\ - lsls r0, 30\n\ - lsrs r0, 30\n\ - lsls r1, r0, 4\n\ - subs r1, r0\n\ - lsls r1, 1\n\ - adds r1, 0x21\n\ - ldrb r0, [r6, 0x3]\n\ - lsls r0, 27\n\ - lsrs r0, 27\n\ - subs r5, r0\n\ - lsls r0, r5, 4\n\ - subs r0, r5\n\ - adds r1, r0\n\ - lsls r1, 16\n\ - lsrs r1, 16\n\ - mov r5, r9\n\ - movs r0, 0x34\n\ - ldrsh r2, [r7, r0]\n\ -_08144ACA:\n\ - cmp r1, r2\n\ - bge _08144AD6\n\ - adds r0, r1, 0\n\ - adds r0, 0x5A\n\ - cmp r2, r0\n\ - ble _08144B38\n\ -_08144AD6:\n\ - cmp r5, 0x3\n\ - beq _08144B1C\n\ - adds r0, r1, 0\n\ - adds r0, 0x5A\n\ - lsls r0, 16\n\ - lsrs r1, r0, 16\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x3\n\ - bls _08144ACA\n\ -_08144AEC:\n\ - ldr r0, _08144B10 @ =gUnknown_0203AB88\n\ - ldr r0, [r0]\n\ - ldrb r1, [r0, 0x3]\n\ - movs r0, 0x1F\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08144B64\n\ - movs r1, 0x2E\n\ - ldrsh r0, [r7, r1]\n\ - cmp r0, 0\n\ - beq _08144B58\n\ - movs r0, 0x98\n\ - lsls r0, 1\n\ - movs r1, 0x3F\n\ - negs r1, r1\n\ - bl PlayCry1\n\ - b _08144B70\n\ - .align 2, 0\n\ -_08144B10:\n\ - .4byte gUnknown_0203AB88\n\ -_08144B14:\n\ - .4byte 0x00000000\n\ -_08144B18:\n\ - .4byte gUnknown_085B6348\n\ -_08144B1C:\n\ - movs r0, 0x1\n\ - strh r0, [r7, 0x2E]\n\ - ldr r0, =gUnknown_0203AB88\n\ - ldr r2, [r0]\n\ - ldrb r1, [r2, 0x3]\n\ - movs r0, 0x20\n\ - negs r0, r0\n\ - ands r0, r1\n\ - movs r1, 0x1\n\ - orrs r0, r1\n\ - strb r0, [r2, 0x3]\n\ - b _08144AEC\n\ - .pool\n\ -_08144B38:\n\ - lsrs r0, r5, 1\n\ - strh r0, [r7, 0x2E]\n\ - ldr r0, =gUnknown_0203AB88\n\ - ldr r3, [r0]\n\ - movs r1, 0x1\n\ - ands r1, r5\n\ - ldrb r2, [r3, 0x3]\n\ - movs r0, 0x20\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3, 0x3]\n\ - b _08144AEC\n\ - .pool\n\ -_08144B58:\n\ - movs r0, 0x98\n\ - lsls r0, 1\n\ - movs r1, 0x3F\n\ - bl PlayCry1\n\ - b _08144B70\n\ -_08144B64:\n\ - movs r0, 0x99\n\ - lsls r0, 1\n\ - movs r1, 0x3F\n\ - negs r1, r1\n\ - bl PlayCry1\n\ -_08144B70:\n\ - movs r0, 0x2\n\ - mov r10, r0\n\ - ldr r4, =gUnknown_0203AB88\n\ - ldr r5, [r4]\n\ - adds r0, r5, 0\n\ - adds r0, 0x7F\n\ - ldrb r0, [r0]\n\ - adds r0, 0x2\n\ - movs r1, 0xC\n\ - bl __modsi3\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - ldrb r1, [r5, 0x3]\n\ - movs r0, 0x1F\n\ - ands r0, r1\n\ - cmp r0, 0x1\n\ - bne _08144BA8\n\ - ldrb r1, [r5, 0x4]\n\ - movs r0, 0x3\n\ - ands r0, r1\n\ - cmp r0, 0x1\n\ - bne _08144BA8\n\ - mov r0, r8\n\ - adds r0, 0x6\n\ - b _08144BAC\n\ - .pool\n\ -_08144BA8:\n\ - mov r0, r8\n\ - add r0, r10\n\ -_08144BAC:\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - mov r5, r10\n\ - cmp r5, r8\n\ - bcs _08144C18\n\ - ldr r1, =gUnknown_085B6154+0xC\n\ - mov r10, r1\n\ -_08144BBC:\n\ - ldr r3, [r4]\n\ - lsls r0, r6, 3\n\ - ldr r1, =gUnknown_085B62E4+0x4\n\ - adds r0, r1\n\ - ldr r1, [r3, 0x8]\n\ - ldr r2, [r0]\n\ - ands r1, r2\n\ - cmp r1, 0\n\ - bne _08144C02\n\ - mov r0, r9\n\ - adds r1, r0, 0x1\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r9, r1\n\ - add r0, sp\n\ - strb r5, [r0]\n\ - ldr r0, [sp, 0xC]\n\ - cmp r0, 0\n\ - bne _08144C02\n\ - ldrb r1, [r3, 0x1A]\n\ - lsls r1, 28\n\ - lsrs r1, 28\n\ - adds r0, r3, 0\n\ - adds r0, 0x1B\n\ - adds r0, r1\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r10\n\ - ldr r0, [r0]\n\ - ands r2, r0\n\ - cmp r2, 0\n\ - beq _08144C02\n\ - str r5, [sp, 0xC]\n\ -_08144C02:\n\ - adds r0, r6, 0x1\n\ - movs r1, 0xC\n\ - bl __modsi3\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, r8\n\ - bcc _08144BBC\n\ -_08144C18:\n\ - ldr r0, [r4]\n\ - ldrb r1, [r0, 0x3]\n\ - lsls r1, 27\n\ - lsrs r1, 27\n\ - adds r1, 0x1\n\ - ldrb r0, [r0, 0x2]\n\ - ands r1, r0\n\ - cmp r1, 0\n\ - beq _08144C48\n\ - ldr r1, [sp, 0xC]\n\ - cmp r1, 0\n\ - beq _08144C48\n\ - movs r0, 0xFF\n\ - ldr r1, [sp, 0x10]\n\ - ands r0, r1\n\ - cmp r0, 0xBF\n\ - bhi _08144C48\n\ - mov r0, sp\n\ - ldrh r0, [r0, 0xC]\n\ - b _08144C54\n\ - .pool\n\ -_08144C48:\n\ - ldr r0, [sp, 0x10]\n\ - mov r1, r9\n\ - bl __modsi3\n\ - add r0, sp\n\ - ldrb r0, [r0]\n\ -_08144C54:\n\ - strh r0, [r7, 0x3C]\n\ - ldr r1, =sub_8144168\n\ - str r1, [r7, 0x1C]\n\ - add sp, 0x14\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING static const u16 gUnknown_085B7B1A[] = { 0x907, @@ -4955,7 +4397,7 @@ static void sub_81450D8(struct Sprite *sprite) static void sub_8145218(struct Sprite *sprite) { s8 t[2] = {-1, 1}; - + if (sprite->data[1]-- >= 0) { sprite->pos1.x += t[gUnknown_0203AB88->var38->data[0]] * 2; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 415907585..6d45370b8 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -321,7 +321,7 @@ static void CB2_FadeAndReturnToTitleScreen(void) if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); SetVBlankCallback(VBlankCB); SetMainCallback2(CB2_ReturnToTitleScreen); } diff --git a/src/scanline_effect.c b/src/scanline_effect.c index a9ae9427b..0a4b0b8fd 100644 --- a/src/scanline_effect.c +++ b/src/scanline_effect.c @@ -1,6 +1,6 @@ #include "global.h" #include "battle.h" -#include "data2.h" +#include "data.h" #include "task.h" #include "trig.h" #include "scanline_effect.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index 125a57c01..8d597b887 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -7,7 +7,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_painting.h" -#include "data2.h" +#include "data.h" #include "decoration.h" #include "decoration_inventory.h" #include "event_data.h" @@ -1068,7 +1068,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); - show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } @@ -1078,7 +1078,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); - show_sprite(objectId, mapNum, mapGroup); + TrySpawnEventObject(objectId, mapNum, mapGroup); return FALSE; } @@ -1088,7 +1088,7 @@ bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_808EBA8(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); + TryMoveEventObjectToMapCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); return FALSE; } @@ -1106,7 +1106,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - sub_808F254(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryOverrideEventObjectTemplateCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index ece030395..2c7a9c775 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -5,6 +5,7 @@ #include "contest.h" #include "contest_link_80F57C4.h" #include "contest_painting.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "event_data.h" @@ -35,7 +36,6 @@ extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 }; @@ -227,7 +227,7 @@ void sub_80F8AFC(void) { int i; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { for (i = 0; i < gNumLinkContestPlayers; i++) { @@ -256,7 +256,7 @@ void sub_80F8B94(void) struct Sprite *sprite; gReservedSpritePaletteCount = 12; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { for (i = 0; i < gNumLinkContestPlayers; i++) { @@ -339,9 +339,9 @@ void ShowContestEntryMonPic(void) gMultiuseSpriteTemplate.paletteTag = palette->tag; spriteId = CreateSprite(&gMultiuseSpriteTemplate, (left + 1) * 8 + 32, (top * 8) + 40, 0); - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { - if (!(gIsLinkContest & 4)) + if (!(gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)) DoMonFrontSpriteAnimation(&gSprites[spriteId], species, FALSE, 0); } else @@ -403,7 +403,7 @@ static void sub_80F8EE8(u8 taskId) void ScriptGetMultiplayerId(void) { - if ((gIsLinkContest & 1) && gNumLinkContestPlayers == 4 && !(gIsLinkContest & 2)) + if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && gNumLinkContestPlayers == 4 && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)) gSpecialVar_Result = GetMultiplayerId(); else gSpecialVar_Result = 4; @@ -414,7 +414,7 @@ void ScriptRandom(void) u16 random; u16 *scriptPtr; - if (gIsLinkContest & 1) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { gContestRngValue = 1103515245 * gContestRngValue + 24691; random = gContestRngValue >> 16; @@ -436,7 +436,7 @@ u16 sub_80F903C(void) u8 sub_80F905C(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { CreateTask(sub_80F9088, 5); return 1; @@ -473,11 +473,11 @@ static void sub_80F9088(u8 taskId) void sub_80F90DC(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { if (gReceivedRemoteLinkPlayers) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(8, 8); } } @@ -485,7 +485,7 @@ void sub_80F90DC(void) void sub_80F910C(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) { if (gReceivedRemoteLinkPlayers) DestroyWirelessStatusIndicatorSprite(); @@ -494,7 +494,7 @@ void sub_80F910C(void) u8 sub_80F9134(void) { - if (gIsLinkContest & 4) + if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER) return 1; else return 0; @@ -502,12 +502,12 @@ u8 sub_80F9134(void) void sub_80F9154(void) { - gIsLinkContest = 0; + gLinkContestFlags = 0; } u8 sub_80F9160(void) { - if (gIsLinkContest & 2) + if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS) return 1; else return 0; diff --git a/src/secret_base.c b/src/secret_base.c index e19aecba3..ac35a090a 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -35,322 +35,351 @@ #include "window.h" #include "constants/bg_event_constants.h" #include "constants/decorations.h" +#include "constants/event_objects.h" +#include "constants/items.h" #include "constants/maps.h" #include "constants/map_types.h" #include "constants/metatile_behaviors.h" +#include "constants/moves.h" #include "constants/secret_bases.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/trainers.h" -// Static type declarations - -struct SecretBaseListMenuBuffer { +struct SecretBaseRegistryMenu +{ struct ListMenuItem items[11]; u8 names[11][32]; }; -struct SecretBaseRecordMixer { - struct SecretBaseRecord *records; +struct SecretBaseRecordMixer +{ + struct SecretBase *secretBases; u32 version; u32 language; }; -// Static RAM declarations -EWRAM_DATA u8 sCurSecretBaseId = 0; -EWRAM_DATA bool8 gInFriendSecretBase = FALSE; -EWRAM_DATA struct SecretBaseListMenuBuffer *gUnknown_0203A020 = NULL; - -// Static ROM declarations - -void sub_80E9C9C(u8 taskId); -void game_continue(u8 taskId); -void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu); -void sub_80E9E00(u8 taskId); -void sub_80E9E44(u8 taskId); -void sub_80E9E90(u8 taskId); -void sub_80E9F20(u8 taskId); -void sub_80E9FB0(u8 taskId); -void sub_80E9FFC(u8 taskId); -void sub_80EA06C(u8 taskId); -void sub_80EA120(u8 taskId); -void sub_80EA13C(u8 taskId); -void sub_80EA18C(u8 taskId); -void task_pc_turn_off(u8 taskId); -u8 sub_80EA20C(u8 secretBaseRecordId); - -// .rodata - -const struct { - u16 tile1; - u16 tile2; -} gUnknown_0858CFCC[] = { - {0x0026, 0x0036}, - {0x0027, 0x0037}, - {0x01a0, 0x01a1}, - {0x01a8, 0x01a9}, - {0x01b0, 0x01b1}, - {0x0208, 0x0210}, - {0x0271, 0x0278} +struct SecretBaseEntranceMetatiles +{ + u16 closedMetatileId; + u16 openMetatileId; }; -const u8 gUnknown_0858CFE8[] = { - MAP_NUM(SECRET_BASE_RED_CAVE1), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_RED_CAVE2), 0x00, 0x05, 0x09, - MAP_NUM(SECRET_BASE_RED_CAVE3), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_RED_CAVE4), 0x00, 0x07, 0x0d, - MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0x00, 0x02, 0x03, - MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0x00, 0x09, 0x02, - MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0x00, 0x0d, 0x04, - MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0x00, 0x01, 0x03, - MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0x00, 0x03, 0x0f, - MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0x00, 0x03, 0x0e, - MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0x00, 0x09, 0x03, - MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0x00, 0x08, 0x07, - MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0x00, 0x03, 0x06, - MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0x00, 0x05, 0x09, - MAP_NUM(SECRET_BASE_TREE1), 0x00, 0x02, 0x03, - MAP_NUM(SECRET_BASE_TREE2), 0x00, 0x05, 0x06, - MAP_NUM(SECRET_BASE_TREE3), 0x00, 0x0f, 0x03, - MAP_NUM(SECRET_BASE_TREE4), 0x00, 0x04, 0x0a, - MAP_NUM(SECRET_BASE_SHRUB1), 0x00, 0x03, 0x03, - MAP_NUM(SECRET_BASE_SHRUB2), 0x00, 0x01, 0x02, - MAP_NUM(SECRET_BASE_SHRUB3), 0x00, 0x07, 0x08, - MAP_NUM(SECRET_BASE_SHRUB4), 0x00, 0x09, 0x06 +static EWRAM_DATA u8 sCurSecretBaseId = 0; +static EWRAM_DATA bool8 sInFriendSecretBase = FALSE; +static EWRAM_DATA struct SecretBaseRegistryMenu *sRegistryMenu = NULL; + +static void Task_ShowSecretBaseRegistryMenu(u8 taskId); +static void BuildRegistryMenuItems(u8 taskId); +static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu); +static void FinalizeRegistryMenu(u8 taskId); +static void AddRegistryMenuScrollArrows(u8 taskId); +static void HandleRegistryMenuInput(u8 taskId); +static void ShowRegistryMenuActions(u8 taskId); +static void HandleRegistryMenuActionsInput(u8 taskId); +static void ShowRegistryMenuDeleteConfirmation(u8 taskId); +static void ShowRegistryMenuDeleteYesNo(u8 taskId); +static void DeleteRegistry_Yes(u8 taskId); +static void DeleteRegistry_No(u8 taskId); +static void ReturnToMainRegistryMenu(u8 taskId); +static void GoToSecretBasePCMainMenu(u8 taskId); +static u8 GetSecretBaseOwnerType(u8 secretBaseId); + +static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] = +{ + {.closedMetatileId = 0x0026, .openMetatileId = 0x0036}, + {.closedMetatileId = 0x0027, .openMetatileId = 0x0037}, + {.closedMetatileId = 0x01a0, .openMetatileId = 0x01a1}, + {.closedMetatileId = 0x01a8, .openMetatileId = 0x01a9}, + {.closedMetatileId = 0x01b0, .openMetatileId = 0x01b1}, + {.closedMetatileId = 0x0208, .openMetatileId = 0x0210}, + {.closedMetatileId = 0x0271, .openMetatileId = 0x0278}, }; -const struct MenuAction gUnknown_0858D048[] = { - {gUnknown_085EA79D, {.void_u8 = sub_80E9FFC}}, - {gText_Cancel, {.void_u8 = sub_80EA18C}} +// mapNum, warpId, x, y +// x, y positions are for when the player warps in for the first time (in front of the computer) +static const u8 sSecretBaseEntrancePositions[] = +{ + MAP_NUM(SECRET_BASE_RED_CAVE1), 0, 1, 3, + MAP_NUM(SECRET_BASE_RED_CAVE2), 0, 5, 9, + MAP_NUM(SECRET_BASE_RED_CAVE3), 0, 1, 3, + MAP_NUM(SECRET_BASE_RED_CAVE4), 0, 7, 13, + MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0, 2, 3, + MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0, 9, 2, + MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0, 13, 4, + MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0, 1, 2, + MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0, 1, 3, + MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0, 1, 2, + MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0, 3, 15, + MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0, 3, 14, + MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0, 9, 3, + MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0, 8, 7, + MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0, 3, 6, + MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0, 5, 9, + MAP_NUM(SECRET_BASE_TREE1), 0, 2, 3, + MAP_NUM(SECRET_BASE_TREE2), 0, 5, 6, + MAP_NUM(SECRET_BASE_TREE3), 0, 15, 3, + MAP_NUM(SECRET_BASE_TREE4), 0, 4, 10, + MAP_NUM(SECRET_BASE_SHRUB1), 0, 3, 3, + MAP_NUM(SECRET_BASE_SHRUB2), 0, 1, 2, + MAP_NUM(SECRET_BASE_SHRUB3), 0, 7, 8, + MAP_NUM(SECRET_BASE_SHRUB4), 0, 9, 6, }; -const struct YesNoFuncTable gUnknown_0858D058 = { - sub_80EA120, sub_80EA13C +static const struct MenuAction sRegistryMenuActions[] = +{ + { + .text = gText_DelRegist, + .func = { .void_u8 = ShowRegistryMenuDeleteConfirmation }, + }, + { + .text = gText_Cancel, + .func = { .void_u8 = ReturnToMainRegistryMenu }, + }, }; -const u8 gUnknown_0858D060[10] = { - 0x23, 0x24, 0x0f, 0x1f, 0x21, - 0x2f, 0x0e, 0x14, 0x20, 0x22 +static const struct YesNoFuncTable sDeleteRegistryYesNoFuncs = +{ + .yesFunc = DeleteRegistry_Yes, + .noFunc = DeleteRegistry_No, }; -const struct WindowTemplate gUnknown_0858D06C[] = { - { 0, 18, 1, 11, 18, 15, 0x01 }, - { 0, 2, 1, 28, 4, 15, 0xc7 } +static const u8 sSecretBaseOwnerGfxIds[10] = +{ + // Male + EVENT_OBJ_GFX_YOUNGSTER, + EVENT_OBJ_GFX_BUG_CATCHER, + EVENT_OBJ_GFX_RICH_BOY, + EVENT_OBJ_GFX_CAMPER, + EVENT_OBJ_GFX_MAN_3, + // Female + EVENT_OBJ_GFX_LASS, + EVENT_OBJ_GFX_GIRL_3, + EVENT_OBJ_GFX_WOMAN_2, + EVENT_OBJ_GFX_PICNICKER, + EVENT_OBJ_GFX_WOMAN_5, }; -const struct ListMenuTemplate gUnknown_0858D07C = { - NULL, - sub_80E9DEC, - NULL, - 0, 0, - 0, 0, 8, 0, - 9, 2, 1, 3, FALSE, 0, FALSE, 1 +static const struct WindowTemplate sRegistryWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 1, + .width = 11, + .height = 18, + .paletteNum = 15, + .baseBlock = 0x01, + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 28, + .height = 4, + .paletteNum = 15, + .baseBlock = 0xc7, + } }; -// .text +static const struct ListMenuTemplate sRegistryListMenuTemplate = +{ + .items = NULL, + .moveCursorFunc = RegistryMenu_OnCursorMove, + .itemPrintFunc = NULL, + .totalItems = 0, + .maxShowed = 0, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 9, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 1, + .cursorKind = 0, +}; -void ClearSecretBase(struct SecretBaseRecord *sbr) +static void ClearSecretBase(struct SecretBase *secretBase) { u16 i; - - CpuFastFill16(0, sbr, sizeof(struct SecretBaseRecord)); - for (i = 0; i < 7; i ++) - { - sbr->trainerName[i] = EOS; - } + CpuFastFill16(0, secretBase, sizeof(struct SecretBase)); + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + secretBase->trainerName[i] = EOS; } -void ResetSecretBases(void) +void ClearSecretBases(void) { u16 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) - { + for (i = 0; i < SECRET_BASES_COUNT; i++) ClearSecretBase(&gSaveBlock1Ptr->secretBases[i]); - } } -void sub_80E8B58(void) +static void SetCurSecretBaseId(void) { sCurSecretBaseId = gSpecialVar_0x8004; } -void sub_80E8B6C(void) +void TrySetCurSecretBaseIndex(void) { u16 i; gSpecialVar_Result = FALSE; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (sCurSecretBaseId != gSaveBlock1Ptr->secretBases[i].secretBaseId) + if (sCurSecretBaseId == gSaveBlock1Ptr->secretBases[i].secretBaseId) { - continue; + gSpecialVar_Result = TRUE; + VarSet(VAR_CURRENT_SECRET_BASE, i); + break; } - gSpecialVar_Result = TRUE; - VarSet(VAR_CURRENT_SECRET_BASE, i); - break; } } -void sub_80E8BC8(void) +void CheckPlayerHasSecretBase(void) { - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) - { + // The player's secret base is always the first in the array. + if (gSaveBlock1Ptr->secretBases[0].secretBaseId) gSpecialVar_Result = TRUE; - } else - { gSpecialVar_Result = FALSE; - } } -u8 sub_80E8BF8(void) +static u8 GetSecretBaseTypeInFrontOfPlayer_(void) { - s16 x; - s16 y; + s16 x, y; s16 behavior; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF; if (behavior == MB_SECRET_BASE_SPOT_RED_CAVE || behavior == MB_SECRET_BASE_SPOT_RED_CAVE_OPEN) - { return SECRET_BASE_RED_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE || behavior == MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN) - { return SECRET_BASE_BROWN_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE || behavior == MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN) - { return SECRET_BASE_BLUE_CAVE; - } + if (behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE || behavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN) - { return SECRET_BASE_YELLOW_CAVE; - } - if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN) - { + + if (behavior == MB_SECRET_BASE_SPOT_TREE_LEFT || behavior == MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN + || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT || behavior == MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN) return SECRET_BASE_TREE; - } + if (behavior == MB_SECRET_BASE_SPOT_SHRUB || behavior == MB_SECRET_BASE_SPOT_SHRUB_OPEN) - { return SECRET_BASE_SHRUB; - } + return 0; } -void sub_80E8C98(void) +void GetSecretBaseTypeInFrontOfPlayer(void) { - gSpecialVar_0x8007 = sub_80E8BF8(); + gSpecialVar_0x8007 = GetSecretBaseTypeInFrontOfPlayer_(); } -void sub_80E8CB0(s16 *xPtr, s16 *yPtr, u16 tile) +static void FindMetatileIdMapCoords(s16 *x, s16 *y, u16 metatileId) { - const struct MapLayout *mapLayout; - s16 x; - s16 y; + s16 i, j; + const struct MapLayout *mapLayout = gMapHeader.mapLayout; - mapLayout = gMapHeader.mapLayout; - for (y = 0; y < mapLayout->height; y ++) + for (j = 0; j < mapLayout->height; j++) { - for (x = 0; x < mapLayout->width; x ++) + for (i = 0; i < mapLayout->width; i++) { - if ((mapLayout->map[y * mapLayout->width + x] & METATILE_ID_MASK) == tile) + if ((mapLayout->map[j * mapLayout->width + i] & METATILE_ID_MASK) == metatileId) { - *xPtr = x; - *yPtr = y; + *x = i; + *y = j; return; } } } } -void sub_80E8D4C(void) +// Opens or closes the secret base entrance metatile in front of the player. +void ToggleSecretBaseEntranceMetatile(void) { - s16 x; - s16 y; - s16 tile; u16 i; + s16 x, y; + s16 metatileId; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); - tile = MapGridGetMetatileIdAt(x, y); - for (i = 0; i < 7; i ++) + metatileId = MapGridGetMetatileIdAt(x, y); + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile1 == tile) + if (sSecretBaseEntranceMetatiles[i].closedMetatileId == metatileId) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); return; } } - for (i = 0; i < 7; i ++) + + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile2 == tile) + if (sSecretBaseEntranceMetatiles[i].openMetatileId == metatileId) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile1 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].closedMetatileId | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); return; } } } -u8 sub_80E8DF4(const u8 *src) +static u8 GetNameLength(const u8 *secretBaseOwnerName) { u8 i; - - for (i = 0; i < 7; i ++) + for (i = 0; i < PLAYER_NAME_LENGTH; i++) { - if (src[i] == EOS) - { + if (secretBaseOwnerName[i] == EOS) return i; - } } - return 7; + + return PLAYER_NAME_LENGTH; } -void sub_80E8E18(void) +void SetPlayerSecretBase(void) { u16 i; gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId; - for (i = 0; i < 4; i ++) - { + for (i = 0; i < 4; i++) gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; - } + VarSet(VAR_CURRENT_SECRET_BASE, 0); - StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, sub_80E8DF4(gSaveBlock2Ptr->playerName)); + StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, GetNameLength(gSaveBlock2Ptr->playerName)); gSaveBlock1Ptr->secretBases[0].gender = gSaveBlock2Ptr->playerGender; gSaveBlock1Ptr->secretBases[0].language = GAME_LANGUAGE; VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId); } -void sub_80E8EE0(struct MapEvents const *events) +void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events) { - u16 bgEventIndex; - u16 i; - u16 j; - s16 tile_id; - s16 x; - s16 y; + u16 bgId; + u16 i, j; - for (bgEventIndex = 0; bgEventIndex < events->bgEventCount; bgEventIndex ++) + for (bgId = 0; bgId < events->bgEventCount; bgId++) { - if (events->bgEvents[bgEventIndex].kind == BG_EVENT_SECRET_BASE) + if (events->bgEvents[bgId].kind == BG_EVENT_SECRET_BASE) { - for (j = 0; j < SECRET_BASES_COUNT; j ++) + for (j = 0; j < SECRET_BASES_COUNT; j++) { - if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgEventIndex].bgUnion.secretBaseId) + if (gSaveBlock1Ptr->secretBases[j].secretBaseId == events->bgEvents[bgId].bgUnion.secretBaseId) { - x = events->bgEvents[bgEventIndex].x + 7; - y = events->bgEvents[bgEventIndex].y + 7; - tile_id = MapGridGetMetatileIdAt(x, y); - for (i = 0; i < 7; i ++) + s16 x = events->bgEvents[bgId].x + 7; + s16 y = events->bgEvents[bgId].y + 7; + s16 tile_id = MapGridGetMetatileIdAt(x, y); + for (i = 0; i < ARRAY_COUNT(sSecretBaseEntranceMetatiles); i++) { - if (gUnknown_0858CFCC[i].tile1 == tile_id) + if (sSecretBaseEntranceMetatiles[i].closedMetatileId == tile_id) { - MapGridSetMetatileIdAt(x, y, gUnknown_0858CFCC[i].tile2 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK); break; } } @@ -361,58 +390,52 @@ void sub_80E8EE0(struct MapEvents const *events) } } -void sub_80E8F9C(void) +static void SetSecretBaseWarpDestination(void) { - s8 idx; - - idx = sCurSecretBaseId / 10 * 4; - SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); + s8 offset = (sCurSecretBaseId / 10) * 4; + SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), sSecretBaseEntrancePositions[offset], sSecretBaseEntrancePositions[offset + 1]); } -void sub_80E8FD0(u8 taskId) +static void Task_EnterSecretBase(u8 taskId) { - u16 secretBaseRecordId; + u16 secretBaseId; switch (gTasks[taskId].data[0]) { - case 0: - if (!gPaletteFade.active) - { - gTasks[taskId].data[0] = 1; - } - break; - case 1: - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 < 255) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 ++; - } - sub_80E8F9C(); - WarpIntoMap(); - gFieldCallback = FieldCallback_ReturnToEventScript2; - SetMainCallback2(CB2_LoadMap); - DestroyTask(taskId); - break; + case 0: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 1; + break; + case 1: + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + if (gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered < 255) + gSaveBlock1Ptr->secretBases[secretBaseId].numTimesEntered++; + + SetSecretBaseWarpDestination(); + WarpIntoMap(); + gFieldCallback = FieldCallback_ReturnToEventScript2; + SetMainCallback2(CB2_LoadMap); + DestroyTask(taskId); + break; } } -void sub_80E9068(void) +void EnterSecretBase(void) { - CreateTask(sub_80E8FD0, 0); + CreateTask(Task_EnterSecretBase, 0); FadeScreen(1, 0); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -bool8 sub_80E909C(void) +bool8 SecretBaseMapPopupEnabled(void) { if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_INIT_SECRET_BASE) == 0) - { return FALSE; - } + return TRUE; } -void sub_80E90C8(u8 taskId) +static void EnterNewlyCreatedSecretBase_WaitFadeIn(u8 taskId) { EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_NORTH); if (IsWeatherNotFadingIn() == TRUE) @@ -422,189 +445,202 @@ void sub_80E90C8(u8 taskId) } } -void sub_80E9108(void) +static void EnterNewlyCreatedSecretBase_StartFadeIn(void) { - s16 x; - s16 y; + s16 x, y; ScriptContext2_Enable(); HideMapNamePopUpWindow(); - sub_80E8CB0(&x, &y, 0x220); + FindMetatileIdMapCoords(&x, &y, 0x220); x += 7; y += 7; MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); pal_fill_black(); - CreateTask(sub_80E90C8, 0); + CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0); } -void sub_80E916C(u8 taskId) +static void Task_EnterNewlyCreatedSecretBase(u8 taskId) { - s8 idx; - if (!gPaletteFade.active) { - idx = sCurSecretBaseId / 10 * 4; - SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]); + s8 offset = sCurSecretBaseId / 10 * 4; + SetWarpDestination( + gSaveBlock1Ptr->location.mapGroup, + gSaveBlock1Ptr->location.mapNum, + -1, + sSecretBaseEntrancePositions[offset + 2], + sSecretBaseEntrancePositions[offset + 3]); WarpIntoMap(); - gFieldCallback = sub_80E9108; + gFieldCallback = EnterNewlyCreatedSecretBase_StartFadeIn; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); } } -void sub_80E91F8(void) +void EnterNewlyCreatedSecretBase(void) { - CreateTask(sub_80E916C, 0); - FadeScreen(1, 0); + CreateTask(Task_EnterNewlyCreatedSecretBase, 0); + FadeScreen(FADE_TO_BLACK, 0); } -bool8 CurrentMapIsSecretBase(void) +bool8 CurMapIsSecretBase(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) - { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) + && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) return TRUE; - } - return FALSE; + else + return FALSE; } -void sub_80E9238(u8 flagIn) +void InitSecretBaseAppearance(bool8 hidePC) { - u16 curBaseId; - u16 x; - u16 y; + u16 secretBaseId; + u16 x, y; u8 *decorations; u8 *decorPos; - if (CurrentMapIsSecretBase()) + if (CurMapIsSecretBase()) { - curBaseId = VarGet(VAR_CURRENT_SECRET_BASE); - decorations = gSaveBlock1Ptr->secretBases[curBaseId].decorations; - decorPos = gSaveBlock1Ptr->secretBases[curBaseId].decorationPos; - for (x = 0; x < 16; x ++) + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; + decorPos = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; + for (x = 0; x < 16; x++) { - if (decorations[x] > 0 && decorations[x] <= 0x78 && gDecorations[decorations[x]].permission != DECORPERM_SOLID_MAT) { - sub_8127D38((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); - } + if (decorations[x] > 0 && decorations[x] <= NUM_DECORATIONS && gDecorations[decorations[x]].permission != DECORPERM_SPRITE) + ShowDecorationOnMap((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); } - if (curBaseId != 0) + + if (secretBaseId != 0) { - sub_80E8CB0(&x, &y, 0x220); + // Another player's secret base. Change PC type to the "Register" PC. + FindMetatileIdMapCoords(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0x221 | METATILE_COLLISION_MASK); } - else if (flagIn == 1 && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) + else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) { - sub_80E8CB0(&x, &y, 0x220); + // Change PC to regular ground tile. + FindMetatileIdMapCoords(&x, &y, 0x220); MapGridSetMetatileIdAt(x + 7, y + 7, 0x20a | METATILE_COLLISION_MASK); } } } -void sub_80E933C(void) +void InitSecretBaseDecorationSprites(void) { - u8 *roomDecor; - u8 *roomDecorPos; - u8 decorIdx; - u8 objIdx; - u8 metatile; + u8 i; + u8 *decorations; + u8 *decorationPositions; + u8 eventObjectId; + u8 metatileBehavior; u8 category; u8 permission; - u8 nDecor; - u16 curBase; + u8 numDecorations; - objIdx = 0; - if (!CurrentMapIsSecretBase()) + eventObjectId = 0; + if (!CurMapIsSecretBase()) { - roomDecor = gSaveBlock1Ptr->playerRoomDecor; - roomDecorPos = gSaveBlock1Ptr->playerRoomDecorPos; - nDecor = 12; + decorations = gSaveBlock1Ptr->playerRoomDecor; + decorationPositions = gSaveBlock1Ptr->playerRoomDecorPos; + numDecorations = 12; } else { - curBase = VarGet(VAR_CURRENT_SECRET_BASE); - roomDecor = gSaveBlock1Ptr->secretBases[curBase].decorations; - roomDecorPos = gSaveBlock1Ptr->secretBases[curBase].decorationPos; - nDecor = 16; + u16 secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; + decorationPositions = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; + numDecorations = 16; } - for (decorIdx = 0; decorIdx < nDecor; decorIdx ++) + + for (i = 0; i < numDecorations; i++) { - if (roomDecor[decorIdx] != DECOR_NONE) + if (decorations[i] == DECOR_NONE) + continue; + + permission = gDecorations[decorations[i]].permission; + category = gDecorations[decorations[i]].category; + if (permission == DECORPERM_SPRITE) { - permission = gDecorations[roomDecor[decorIdx]].permission; - category = gDecorations[roomDecor[decorIdx]].category; - if (permission == DECORPERM_SOLID_MAT) + for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) { - for (objIdx = 0; objIdx < gMapHeader.events->eventObjectCount; objIdx ++) + if (gMapHeader.events->eventObjects[eventObjectId].flagId == FLAG_DECORATION_1 + gSpecialVar_0x8004) + break; + } + + if (eventObjectId == gMapHeader.events->eventObjectCount) + continue; + + gSpecialVar_0x8006 = decorationPositions[i] >> 4; + gSpecialVar_0x8007 = decorationPositions[i] & 0xF; + metatileBehavior = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); + if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE + || MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) + { + gSpecialVar_Result = VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[eventObjectId].graphicsId - EVENT_OBJ_GFX_VAR_0); + VarSet(gSpecialVar_Result, gDecorations[decorations[i]].tiles[0]); + gSpecialVar_Result = gMapHeader.events->eventObjects[eventObjectId].localId; + FlagClear(FLAG_DECORATION_1 + gSpecialVar_0x8004); + TrySpawnEventObject(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveEventObjectToMapCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideEventObjectTemplateCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (CurMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - if (gMapHeader.events->eventObjects[objIdx].flagId == gSpecialVar_0x8004 + 0xAE) + if (category == DECORCAT_DOLL) { - break; + OverrideSecretBaseDecorationSpriteScript( + gSpecialVar_Result, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + DECORCAT_DOLL); } - } - if (objIdx == gMapHeader.events->eventObjectCount) - { - continue; - } - gSpecialVar_0x8006 = roomDecorPos[decorIdx] >> 4; - gSpecialVar_0x8007 = roomDecorPos[decorIdx] & 0xF; - metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); - if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatile) == TRUE || MetatileBehavior_IsLargeMatCenter(metatile) == TRUE) - { - gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].graphicsId + UNKNOWN_VAR_OFFSET_3F20; - VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]); - gSpecialVar_Result = gMapHeader.events->eventObjects[objIdx].localId; - FlagClear(gSpecialVar_0x8004 + 0xAE); - show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) + else if (category == DECORCAT_CUSHION) { - if (category == DECORCAT_DOLL) - { - sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL); - } - else if (category == DECORCAT_CUSHION) - { - sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION); - } + OverrideSecretBaseDecorationSpriteScript( + gSpecialVar_Result, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup, + DECORCAT_CUSHION); } - gSpecialVar_0x8004 ++; } + + gSpecialVar_0x8004++; } } } } -void sub_80E9578(void) +void HideSecretBaseDecorationSprites(void) { - u8 objectEventIdx; - u16 flagId; + u8 eventObjectId; + u16 flag; - for (objectEventIdx = 0; objectEventIdx < gMapHeader.events->eventObjectCount; objectEventIdx ++) + for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) { - flagId = gMapHeader.events->eventObjects[objectEventIdx].flagId; - if (flagId >= FLAG_DECORATION_1 && flagId <= FLAG_DECORATION_14) + flag = gMapHeader.events->eventObjects[eventObjectId].flagId; + if (flag >= FLAG_DECORATION_1 && flag <= FLAG_DECORATION_14) { - RemoveEventObjectByLocalIdAndMap(gMapHeader.events->eventObjects[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - FlagSet(flagId); + RemoveEventObjectByLocalIdAndMap( + gMapHeader.events->eventObjects[eventObjectId].localId, + gSaveBlock1Ptr->location.mapNum, + gSaveBlock1Ptr->location.mapGroup); + FlagSet(flag); } } } -void sub_80E95D4(void) +void SetSecretBaseOwnerGfxId(void) { - VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE))]); + VarSet(VAR_OBJ_GFX_ID_F, sSecretBaseOwnerGfxIds[GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE))]); } -void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events) +void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events) { - s16 bgEventIdx; - - for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++) + s16 i; + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[bgEventIdx].x + 7 && position->y == events->bgEvents[bgEventIdx].y + 7) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[i].x + 7 && position->y == events->bgEvents[i].y + 7) { - sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId; + sCurSecretBaseId = events->bgEvents[i].bgUnion.secretBaseId; break; } } @@ -612,101 +648,92 @@ void sub_80E9608(const struct MapPosition *position, const struct MapEvents *eve void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events) { - sub_80E9608(position, events); - sub_80E8B6C(); + SetCurSecretBaseIdFromPosition(position, events); + TrySetCurSecretBaseIndex(); ScriptContext1_SetupScript(EventScript_275BB7); } -bool8 sub_80E9680(void) +bool8 TrySetCurSecretBase(void) { - sub_80E8B58(); - sub_80E8B6C(); + SetCurSecretBaseId(); + TrySetCurSecretBaseIndex(); if (gSpecialVar_Result == TRUE) - { return FALSE; - } + return TRUE; } -void sub_80E96A4(u8 taskId) +static void Task_WarpOutOfSecretBase(u8 taskId) { switch (gTasks[taskId].data[0]) { - case 0: - ScriptContext2_Enable(); - gTasks[taskId].data[0] = 1; - break; - case 1: - if (!gPaletteFade.active) - { - gTasks[taskId].data[0] = 2; - } - break; - case 2: - SetWarpDestinationToDynamicWarp(0x7e); - WarpIntoMap(); - gFieldCallback = mapldr_default; - SetMainCallback2(CB2_LoadMap); - ScriptContext2_Disable(); - DestroyTask(taskId); - break; + case 0: + ScriptContext2_Enable(); + gTasks[taskId].data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 2; + break; + case 2: + SetWarpDestinationToDynamicWarp(0x7e); + WarpIntoMap(); + gFieldCallback = mapldr_default; + SetMainCallback2(CB2_LoadMap); + ScriptContext2_Disable(); + DestroyTask(taskId); + break; } } -void sub_80E9728(void) +static void WarpOutOfSecretBase(void) { - CreateTask(sub_80E96A4, 0); - FadeScreen(1, 0); + CreateTask(Task_WarpOutOfSecretBase, 0); + FadeScreen(FADE_TO_BLACK, 0); } -void sub_80E9744(void) +void IsCurSecretBaseOwnedByAnotherPlayer(void) { if (gSaveBlock1Ptr->secretBases[0].secretBaseId != sCurSecretBaseId) - { gSpecialVar_Result = TRUE; - } else - { gSpecialVar_Result = FALSE; - } } -u8 *sub_80E9780(u8 *dest, u8 secretBaseRecordId) +static u8 *GetSecretBaseName(u8 *dest, u8 secretBaseId) { - *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName, sub_80E8DF4(gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName)) = EOS; - ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language); + *StringCopyN(dest, gSaveBlock1Ptr->secretBases[secretBaseId].trainerName, GetNameLength(gSaveBlock1Ptr->secretBases[secretBaseId].trainerName)) = EOS; + ConvertInternationalString(dest, gSaveBlock1Ptr->secretBases[secretBaseId].language); return StringAppend(dest, gText_ApostropheSBase); } u8 *GetSecretBaseMapName(u8 *dest) { - return sub_80E9780(dest, VarGet(VAR_CURRENT_SECRET_BASE)); + return GetSecretBaseName(dest, VarGet(VAR_CURRENT_SECRET_BASE)); } -void sub_80E980C(void) +void CopyCurSecretBaseOwnerName_StrVar1(void) { - u8 secretBaseRecordId; - const u8 *src; + u8 secretBaseId; + const u8 *name; - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); - src = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName; - *StringCopyN(gStringVar1, src, sub_80E8DF4(src)) = EOS; - ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language); + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); + name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName; + *StringCopyN(gStringVar1, name, GetNameLength(name)) = EOS; + ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseId].language); } -bool8 sub_80E9878(u8 secretBaseRecordId) +static bool8 IsSecretBaseRegistered(u8 secretBaseId) { - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 0) - { + if (gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus) return TRUE; - } + return FALSE; } -u8 sub_80E98AC(struct Pokemon *pokemon) +static u8 GetAverageEVs(struct Pokemon *pokemon) { u16 evTotal; - evTotal = GetMonData(pokemon, MON_DATA_HP_EV); evTotal += GetMonData(pokemon, MON_DATA_ATK_EV); evTotal += GetMonData(pokemon, MON_DATA_DEF_EV); @@ -716,173 +743,162 @@ u8 sub_80E98AC(struct Pokemon *pokemon) return evTotal / 6; } -void sub_80E9914(void) +void SetPlayerSecretBaseParty(void) { - u16 partyIdx; + u16 i; u16 moveIdx; - u16 sbPartyIdx; + u16 partyId; struct SecretBaseParty *party; - sbPartyIdx = 0; + partyId = 0; party = &gSaveBlock1Ptr->secretBases[0].party; - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) + if (gSaveBlock1Ptr->secretBases[0].secretBaseId) { - for (partyIdx = 0; partyIdx < PARTY_SIZE; partyIdx++) + for (i = 0; i < PARTY_SIZE; i++) { - for (moveIdx = 0; moveIdx < 4; moveIdx++) - { - party->moves[partyIdx * 4 + moveIdx] = 0; - } - party->species[partyIdx] = 0; - party->heldItems[partyIdx] = 0; - party->levels[partyIdx] = 0; - party->personality[partyIdx] = 0; - party->EVs[partyIdx] = 0; - if (GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES) != SPECIES_NONE - && !GetMonData(&gPlayerParty[partyIdx], MON_DATA_IS_EGG)) + for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) + party->moves[i * MAX_MON_MOVES + moveIdx] = MOVE_NONE; + + party->species[i] = SPECIES_NONE; + party->heldItems[i] = ITEM_NONE; + party->levels[i] = 0; + party->personality[i] = 0; + party->EVs[i] = 0; + + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) { - for (moveIdx = 0; moveIdx < 4; moveIdx++) - { - party->moves[sbPartyIdx * 4 + moveIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_MOVE1 + moveIdx); - } - party->species[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES); - party->heldItems[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_HELD_ITEM); - party->levels[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_LEVEL); - party->personality[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_PERSONALITY); - party->EVs[sbPartyIdx] = sub_80E98AC(&gPlayerParty[partyIdx]); - sbPartyIdx++; + for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) + party->moves[partyId * MAX_MON_MOVES + moveIdx] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIdx); + + party->species[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); + party->heldItems[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + party->levels[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + party->personality[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + party->EVs[partyId] = GetAverageEVs(&gPlayerParty[i]); + partyId++; } } } } -void sub_80E9A90(void) +void ClearAndLeaveSecretBase(void) { - u16 sbr_e; - - sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e; + u16 temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived; ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]); - gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e; - sub_80E9728(); + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp; + WarpOutOfSecretBase(); } -void sub_80E9AC0(void) +void MoveOutOfSecretBase(void) { IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); - sub_80E9A90(); + ClearAndLeaveSecretBase(); } -void sub_80E9AD0(void) +static void ClosePlayerSecretBaseEntrance(void) { u16 i; u16 j; - s16 tile; - const struct MapEvents *events; + s16 metatileId; + const struct MapEvents *events = gMapHeader.events; - events = gMapHeader.events; - for (i = 0; i < events->bgEventCount; i ++) + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE + && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) { - tile = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); - for (j = 0; j < 7; j ++) + metatileId = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); + for (j = 0; j < 7; j++) { - if (gUnknown_0858CFCC[j].tile2 == tile) + if (sSecretBaseEntranceMetatiles[j].openMetatileId == metatileId) { - MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, gUnknown_0858CFCC[j].tile1 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7, sSecretBaseEntranceMetatiles[j].closedMetatileId | METATILE_COLLISION_MASK); break; } } + DrawWholeMapView(); break; } } } -void sub_80E9B70(void) +// When the player moves to a new secret base by interacting with a new secret base +// entrance in the overworld. +void MoveOutOfSecretBaseFromOutside(void) { - u16 sbr_e; + u16 temp; - sub_80E9AD0(); + ClosePlayerSecretBaseEntrance(); IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); - sbr_e = gSaveBlock1Ptr->secretBases[0].sbr_field_e; + temp = gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived; ClearSecretBase(&gSaveBlock1Ptr->secretBases[0]); - gSaveBlock1Ptr->secretBases[0].sbr_field_e = sbr_e; + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived = temp; } -u8 sub_80E9BA8(void) +static u8 GetNumRegisteredSecretBases(void) { - u8 sum; s16 i; - - sum = 0; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + u8 count = 0; + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (sub_80E9878(i) == TRUE) - { - sum ++; - } + if (IsSecretBaseRegistered(i) == TRUE) + count++; } - return sum; + + return count; } -void sub_80E9BDC(void) +void GetCurSecretBaseRegistrationValidity(void) { - if (sub_80E9878(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) - { + if (IsSecretBaseRegistered(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE) gSpecialVar_Result = 1; - } - else if (sub_80E9BA8() > 9) - { + else if (GetNumRegisteredSecretBases() >= 10) gSpecialVar_Result = 2; - } else - { gSpecialVar_Result = 0; - } } -void sub_80E9C2C(void) +void ToggleCurSecretBaseRegistry(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_6 ^= 1; - FlagSet(FLAG_DECORATION_16); + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].registryStatus ^= 1; + FlagSet(FLAG_SECRET_BASE_REGISTRY_ENABLED); } -void sub_80E9C74(void) +void ShowSecretBaseDecorationMenu(void) { - CreateTask(sub_8126AD8, 0); + CreateTask(DoSecretBaseDecorationMenu, 0); } -void sub_80E9C88(void) +void ShowSecretBaseRegistryMenu(void) { - CreateTask(sub_80E9C9C, 0); + CreateTask(Task_ShowSecretBaseRegistryMenu, 0); } -void sub_80E9C9C(u8 taskId) +static void Task_ShowSecretBaseRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ScriptContext2_Enable(); - data[0] = sub_80E9BA8(); + data[0] = GetNumRegisteredSecretBases(); if (data[0] != 0) { data[1] = 0; data[2] = 0; ClearDialogWindowAndFrame(0, 0); - gUnknown_0203A020 = calloc(1, sizeof(struct SecretBaseListMenuBuffer)); - data[6] = AddWindow(&gUnknown_0858D06C[0]); - game_continue(taskId); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + sRegistryMenu = calloc(1, sizeof(*sRegistryMenu)); + data[6] = AddWindow(&sRegistryWindowTemplates[0]); + BuildRegistryMenuItems(taskId); + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } else { - DisplayItemMessageOnField(taskId, gText_NoRegistry, task_pc_turn_off); + DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCMainMenu); } } -void game_continue(u8 taskId) +static void BuildRegistryMenuItems(u8 taskId) { s16 *data; u8 i; @@ -890,62 +906,54 @@ void game_continue(u8 taskId) data = gTasks[taskId].data; count = 0; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (sub_80E9878(i)) + if (IsSecretBaseRegistered(i)) { - sub_80E9780(gUnknown_0203A020->names[count], i); - gUnknown_0203A020->items[count].name = gUnknown_0203A020->names[count]; - gUnknown_0203A020->items[count].id = i; - count ++; + GetSecretBaseName(sRegistryMenu->names[count], i); + sRegistryMenu->items[count].name = sRegistryMenu->names[count]; + sRegistryMenu->items[count].id = i; + count++; } } - gUnknown_0203A020->items[count].name = gText_Cancel; - gUnknown_0203A020->items[count].id = -2; + + sRegistryMenu->items[count].name = gText_Cancel; + sRegistryMenu->items[count].id = -2; data[0] = count + 1; if (data[0] < 8) - { data[3] = data[0]; - } else - { data[3] = 8; - } - gMultiuseListMenuTemplate = gUnknown_0858D07C; + + gMultiuseListMenuTemplate = sRegistryListMenuTemplate; gMultiuseListMenuTemplate.windowId = data[6]; gMultiuseListMenuTemplate.totalItems = data[0]; - gMultiuseListMenuTemplate.items = gUnknown_0203A020->items; + gMultiuseListMenuTemplate.items = sRegistryMenu->items; gMultiuseListMenuTemplate.maxShowed = data[3]; } -void sub_80E9DEC(s32 a0, bool8 flag, struct ListMenu *menu) +static void RegistryMenu_OnCursorMove(int unused, bool8 flag, struct ListMenu *menu) { if (flag != TRUE) - { PlaySE(SE_SELECT); - } } -void sub_80E9E00(u8 taskId) +static void FinalizeRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; SetStandardWindowBorderStyle(data[6], 0); data[5] = ListMenuInit(&gMultiuseListMenuTemplate, data[2], data[1]); - sub_80E9E44(taskId); + AddRegistryMenuScrollArrows(taskId); schedule_bg_copy_tilemap_to_vram(0); } -void sub_80E9E44(u8 taskId) +static void AddRegistryMenuScrollArrows(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; data[8] = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]); } -void sub_80E9E90(u8 taskId) +static void HandleRegistryMenuInput(u8 taskId) { s16 *data; s32 input; @@ -955,219 +963,185 @@ void sub_80E9E90(u8 taskId) ListMenuGetScrollAndRow(data[5], &data[2], &data[1]); switch (input) { - case LIST_NOTHING_CHOSEN: - break; - case LIST_CANCEL: - PlaySE(SE_SELECT); - DestroyListMenuTask(data[5], NULL, NULL); - RemoveScrollIndicatorArrowPair(data[8]); - ClearStdWindowAndFrame(data[6], 0); - ClearWindowTilemap(data[6]); - RemoveWindow(data[6]); - schedule_bg_copy_tilemap_to_vram(0); - free(gUnknown_0203A020); - task_pc_turn_off(taskId); - break; - default: - PlaySE(SE_SELECT); - data[4] = input; - sub_80E9F20(taskId); - break; + case LIST_NOTHING_CHOSEN: + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + DestroyListMenuTask(data[5], NULL, NULL); + RemoveScrollIndicatorArrowPair(data[8]); + ClearStdWindowAndFrame(data[6], 0); + ClearWindowTilemap(data[6]); + RemoveWindow(data[6]); + schedule_bg_copy_tilemap_to_vram(0); + free(sRegistryMenu); + GoToSecretBasePCMainMenu(taskId); + break; + default: + PlaySE(SE_SELECT); + data[4] = input; + ShowRegistryMenuActions(taskId); + break; } } -void sub_80E9F20(u8 taskId) +static void ShowRegistryMenuActions(u8 taskId) { struct WindowTemplate template; - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; RemoveScrollIndicatorArrowPair(data[8]); - template = gUnknown_0858D06C[1]; - template.width = GetMaxWidthInMenuTable(gUnknown_0858D048, 2); + template = sRegistryWindowTemplates[1]; + template.width = GetMaxWidthInMenuTable(sRegistryMenuActions, 2); data[7] = AddWindow(&template); SetStandardWindowBorderStyle(data[7], 0); - PrintMenuTable(data[7], 2, gUnknown_0858D048); + PrintMenuTable(data[7], 2, sRegistryMenuActions); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[7], 2, 0); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_80E9FB0; + gTasks[taskId].func = HandleRegistryMenuActionsInput; } -void sub_80E9FB0(u8 taskId) +static void HandleRegistryMenuActionsInput(u8 taskId) { - s8 input; - - input = Menu_ProcessInputNoWrap(); + s8 input = Menu_ProcessInputNoWrap(); switch (input) { - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_80EA18C(taskId); - break; - case MENU_NOTHING_CHOSEN: - break; - default: - PlaySE(SE_SELECT); - gUnknown_0858D048[input].func.void_u8(taskId); - break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + ReturnToMainRegistryMenu(taskId); + break; + case MENU_NOTHING_CHOSEN: + break; + default: + PlaySE(SE_SELECT); + sRegistryMenuActions[input].func.void_u8(taskId); + break; } } -void sub_80E9FFC(u8 taskId) +static void ShowRegistryMenuDeleteConfirmation(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearStdWindowAndFrame(data[6], FALSE); ClearStdWindowAndFrame(data[7], FALSE); ClearWindowTilemap(data[6]); ClearWindowTilemap(data[7]); RemoveWindow(data[7]); schedule_bg_copy_tilemap_to_vram(0); - sub_80E9780(gStringVar1, data[4]); + GetSecretBaseName(gStringVar1, data[4]); StringExpandPlaceholders(gStringVar4, gText_OkayToDeleteFromRegistry); - DisplayItemMessageOnField(taskId, gStringVar4, sub_80EA06C); + DisplayItemMessageOnField(taskId, gStringVar4, ShowRegistryMenuDeleteYesNo); } -void sub_80EA06C(u8 taskId) +static void ShowRegistryMenuDeleteYesNo(u8 taskId) { DisplayYesNoMenuDefaultYes(); - DoYesNoFuncWithChoice(taskId, &gUnknown_0858D058); + DoYesNoFuncWithChoice(taskId, &sDeleteRegistryYesNoFuncs); } -void sub_80EA08C(u8 taskId) +void DeleteRegistry_Yes_Callback(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearDialogWindowAndFrame(0, 0); DestroyListMenuTask(data[5], &data[2], &data[1]); - gSaveBlock1Ptr->secretBases[data[4]].sbr_field_1_6 = 0; - game_continue(taskId); + gSaveBlock1Ptr->secretBases[data[4]].registryStatus = 0; + BuildRegistryMenuItems(taskId); sub_812225C(&data[2], &data[1], data[3], data[0]); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } -void sub_80EA120(u8 taskId) +static void DeleteRegistry_Yes(u8 taskId) { - DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, sub_80EA08C); + DisplayItemMessageOnField(taskId, gText_RegisteredDataDeleted, DeleteRegistry_Yes_Callback); } -void sub_80EA13C(u8 taskId) +static void DeleteRegistry_No(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; ClearDialogWindowAndFrame(0, 0); DestroyListMenuTask(data[5], &data[2], &data[1]); - sub_80E9E00(taskId); - gTasks[taskId].func = sub_80E9E90; + FinalizeRegistryMenu(taskId); + gTasks[taskId].func = HandleRegistryMenuInput; } -void sub_80EA18C(u8 taskId) +static void ReturnToMainRegistryMenu(u8 taskId) { - s16 *data; - - data = gTasks[taskId].data; - sub_80E9E44(taskId); + s16 *data = gTasks[taskId].data; + AddRegistryMenuScrollArrows(taskId); ClearStdWindowAndFrame(data[7], 0); ClearWindowTilemap(data[7]); RemoveWindow(data[7]); schedule_bg_copy_tilemap_to_vram(0); - gTasks[taskId].func = sub_80E9E90; + gTasks[taskId].func = HandleRegistryMenuInput; } -void task_pc_turn_off(u8 taskId) +static void GoToSecretBasePCMainMenu(u8 taskId) { if (VarGet(VAR_CURRENT_SECRET_BASE) == 0) - { ScriptContext1_SetupScript(gUnknown_0823B4E8); - } else - { ScriptContext1_SetupScript(gUnknown_0823B5E9); - } + DestroyTask(taskId); } -u8 sub_80EA20C(u8 secretBaseRecordId) +static u8 GetSecretBaseOwnerType(u8 secretBaseId) { - return (gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerId[0] % 5) + (gSaveBlock1Ptr->secretBases[secretBaseRecordId].gender * 5); + return (gSaveBlock1Ptr->secretBases[secretBaseId].trainerId[0] % 5) + + (gSaveBlock1Ptr->secretBases[secretBaseId].gender * 5); } const u8 *GetSecretBaseTrainerLoseText(void) { - u8 param; - - param = sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE)); - if (param == 0) - { + u8 ownerType = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE)); + if (ownerType == 0) return SecretBase_RedCave1_Text_274966; - } - if (param == 1) - { + else if (ownerType == 1) return SecretBase_RedCave1_Text_274D13; - } - if (param == 2) - { + else if (ownerType == 2) return SecretBase_RedCave1_Text_274FFE; - } - if (param == 3) - { + else if (ownerType == 3) return SecretBase_RedCave1_Text_275367; - } - if (param == 4) - { + else if (ownerType == 4) return SecretBase_RedCave1_Text_2756C7; - } - if (param == 5) - { + else if (ownerType == 5) return SecretBase_RedCave1_Text_274B24; - } - if (param == 6) - { + else if (ownerType == 6) return SecretBase_RedCave1_Text_274E75; - } - if (param == 7) - { + else if (ownerType == 7) return SecretBase_RedCave1_Text_2751E1; - } - if (param == 8) - { + else if (ownerType == 8) return SecretBase_RedCave1_Text_2754F6; - } - return SecretBase_RedCave1_Text_2758CC; + else + return SecretBase_RedCave1_Text_2758CC; } -void sub_80EA2E4(void) +void PrepSecretBaseBattleFlags(void) { - sub_813BADC(TRUE); + sub_813BADC(1); gTrainerBattleOpponent_A = TRAINER_SECRET_BASE; gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE; } void sub_80EA30C(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_5 = gSpecialVar_Result; + gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result; } -void sub_80EA354(void) +void GetSecretBaseOwnerInteractionState(void) { - u16 secretBaseRecordId; + u16 secretBaseId; u8 i; - secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE); + secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); if (!FlagGet(FLAG_DAILY_SECRET_BASE)) { - for (i = 0; i < SECRET_BASES_COUNT; i ++) - { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_5 = FALSE; - } + for (i = 0; i < SECRET_BASES_COUNT; i++) + gSaveBlock1Ptr->secretBases[i].battledOwnerToday = FALSE; + FlagSet(FLAG_DAILY_SECRET_BASE); } - gSpecialVar_0x8004 = sub_80EA20C(secretBaseRecordId); - gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5; + gSpecialVar_0x8004 = GetSecretBaseOwnerType(secretBaseId); + gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseId].battledOwnerToday; } void SecretBasePerStepCallback(u8 taskId) @@ -1181,318 +1155,286 @@ void SecretBasePerStepCallback(u8 taskId) data = gTasks[taskId].data; switch (data[1]) { - case 0: - if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) + case 0: + if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) + sInFriendSecretBase = TRUE; + else + sInFriendSecretBase = FALSE; + + PlayerGetDestCoords(&data[2], &data[3]); + data[1] = 1; + break; + case 1: + PlayerGetDestCoords(&x, &y); + if (x != data[2] || y != data[3]) + { + data[2] = x; + data[3] = y; + VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); + behavior = MapGridGetMetatileBehaviorAt(x, y); + tileId = MapGridGetMetatileIdAt(x, y); + if (tileId == 0x234 || tileId == 0x23C) { - gInFriendSecretBase = TRUE; + if (sInFriendSecretBase == TRUE) + { + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); + } } - else + else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) { - gInFriendSecretBase = FALSE; + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); } - PlayerGetDestCoords(&data[2], &data[3]); - data[1] = 1; - break; - case 1: - PlayerGetDestCoords(&x, &y); - if (x != data[2] || y != data[3]) + else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) { - data[2] = x; - data[3] = y; - VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); - behavior = MapGridGetMetatileBehaviorAt(x, y); - tileId = MapGridGetMetatileIdAt(x, y); - if (tileId == 0x234 || tileId == 0x23C) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); - } - } - else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); - } - } - else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); - } - } - else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); - } - } - else if (behavior == 0xc1 && tileId == 0x23d) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); - } - } - else if (behavior == 0x47 && tileId == 0x23e) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); - } - } - else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) - { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); - } - } - else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) - { - PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); - if (gInFriendSecretBase == TRUE) - { - switch ((int)MapGridGetMetatileIdAt(x, y)) - { - case 0x338: - case 0x33c: - case 0x340: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); - break; - case 0x228: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); - break; - } - } - } - else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); + } + else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); + } + else if (behavior == 0xc1 && tileId == 0x23d) + { + if (sInFriendSecretBase == TRUE) { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); - } - ShatterSecretBaseBreakableDoor(x, y); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); } - else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ - if (gInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); - } - } - else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) + } + else if (behavior == 0x47 && tileId == 0x23e) + { + if (sInFriendSecretBase == TRUE) { - if (gInFriendSecretBase == TRUE) - { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); - } + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); } - else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) + } + else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); + } + else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) + { + PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); + if (sInFriendSecretBase == TRUE) { - if (gInFriendSecretBase == TRUE) + switch ((int)MapGridGetMetatileIdAt(x, y)) { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); + case 0x338: + case 0x33c: + case 0x340: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); + break; + case 0x228: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); + break; } } } - break; - case 2: - if (!FieldEffectActiveListContains(data[4])) + else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) { - data[1] = 1; + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); + + ShatterSecretBaseBreakableDoor(x, y); } - break; + else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); + } + else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); + } + else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) + { + if (sInFriendSecretBase == TRUE) + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); + } + } + break; + case 2: + if (!FieldEffectActiveListContains(data[4])) + data[1] = 1; + break; } } -void sub_80EA828(u8 secretBaseRecordId, struct SecretBaseRecord *base, u32 version, u32 language) +static void SetSecretBaseDataAndLanguage(u8 secretBaseId, struct SecretBase *secretBase, u32 version, u32 language) { int stringLength; u8 *name; - gSaveBlock1Ptr->secretBases[secretBaseRecordId] = *base; - gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 = 2; + gSaveBlock1Ptr->secretBases[secretBaseId] = *secretBase; + gSaveBlock1Ptr->secretBases[secretBaseId].registryStatus = 2; if (version == VERSION_SAPPHIRE || version == VERSION_RUBY) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH; - } + gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH; + if (version == VERSION_EMERALD && language == LANGUAGE_JAPANESE) { - name = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName; - for (stringLength = 0; stringLength < 7; stringLength ++) + name = gSaveBlock1Ptr->secretBases[secretBaseId].trainerName; + for (stringLength = 0; stringLength < 7; stringLength++) { if (name[stringLength] == EOS) - { break; - } } + if (stringLength > 5) - { - gSaveBlock1Ptr->secretBases[secretBaseRecordId].language = LANGUAGE_ENGLISH; - } + gSaveBlock1Ptr->secretBases[secretBaseId].language = LANGUAGE_ENGLISH; } } -bool8 sub_80EA8D4(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { u8 i; - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { - if (sbr1->trainerId[i] != sbr2->trainerId[i]) - { + if (secretBase1->trainerId[i] != secretBase2->trainerId[i]) return FALSE; - } } + return TRUE; } -bool8 sub_80EA904(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesHaveSameTrainerName(struct SecretBase *sbr1, struct SecretBase *sbr2) { u8 i; - for (i = 0; i < PLAYER_NAME_LENGTH && (sbr1->trainerName[i] != EOS || sbr2->trainerName[i] != EOS); i++) { if (sbr1->trainerName[i] != sbr2->trainerName[i]) - { return FALSE; - } } + return TRUE; } -bool8 sub_80EA950(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) +static bool8 SecretBasesBelongToSamePlayer(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { - if (sbr1->gender == sbr2->gender && sub_80EA8D4(sbr1, sbr2) && sub_80EA904(sbr1, sbr2)) + if (secretBase1->gender == secretBase2->gender + && SecretBasesHaveSameTrainerId(secretBase1, secretBase2) + && SecretBasesHaveSameTrainerName(secretBase1, secretBase2)) { return TRUE; } + return FALSE; } -s16 sub_80EA990(u8 secretBaseRecordId) +static s16 GetSecretBaseIndexFromId(u8 secretBaseId) { s16 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseRecordId) - { + if (gSaveBlock1Ptr->secretBases[i].secretBaseId == secretBaseId) return i; - } } + return -1; } -u8 sub_80EA9D8(void) +static u8 FindAvailableSecretBaseIndex(void) { s16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (gSaveBlock1Ptr->secretBases[i].secretBaseId == 0) - { return i; - } } + return 0; } -u8 sub_80EAA18(void) +static u8 sub_80EAA18(void) { s16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0) - { + if (gSaveBlock1Ptr->secretBases[i].registryStatus == 0 && gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 0) return i; - } } + return 0; } -u8 sub_80EAA64(struct SecretBaseRecord *base, u32 version, u32 language) +static u8 sub_80EAA64(struct SecretBase *secretBase, u32 version, u32 language) { - s16 secretBaseRecordId; + s16 index; - if (base->secretBaseId == 0) - { + if (!secretBase->secretBaseId) return 0; - } - secretBaseRecordId = sub_80EA990(base->secretBaseId); - if (secretBaseRecordId != 0) + + index = GetSecretBaseIndexFromId(secretBase->secretBaseId); + if (index != 0) { - if (secretBaseRecordId != -1) + if (index != -1) { - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_0 == 1) - { + if (gSaveBlock1Ptr->secretBases[index].sbr_field_1_0 == 1) return 0; - } - if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_6 != 2 || base->sbr_field_1_0 == 1) + + if (gSaveBlock1Ptr->secretBases[index].registryStatus != 2 || secretBase->sbr_field_1_0 == 1) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } } else { - secretBaseRecordId = sub_80EA9D8(); - if (secretBaseRecordId != 0) + index = FindAvailableSecretBaseIndex(); + if (index != 0) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } - secretBaseRecordId = sub_80EAA18(); - if (secretBaseRecordId != 0) + + index = sub_80EAA18(); + if (index != 0) { - sub_80EA828(secretBaseRecordId, base, version, language); - return secretBaseRecordId; + SetSecretBaseDataAndLanguage(index, secretBase, version, language); + return index; } } } return 0; } -void sub_80EAAF4(void) +// Moves the registered secret bases to the beginning of the array, so that +// they won't be forgotten during record mixing. +static void SortSecretBasesByRegistryStatus(void) { u8 i; u8 j; - struct SecretBaseRecord base; - struct SecretBaseRecord *secretBases; + struct SecretBase *secretBases; secretBases = gSaveBlock1Ptr->secretBases; - for (i = 1; i < 19; i ++) + for (i = 1; i < 19; i++) { - for (j = i + 1; j < SECRET_BASES_COUNT; j ++) + for (j = i + 1; j < SECRET_BASES_COUNT; j++) { - if ((secretBases[i].sbr_field_1_6 == 0 && secretBases[j].sbr_field_1_6 == 1) || (secretBases[i].sbr_field_1_6 == 2 && secretBases[j].sbr_field_1_6 != 2)) + if ((secretBases[i].registryStatus == 0 && secretBases[j].registryStatus == 1) || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2)) { - base = secretBases[i]; + struct SecretBase temp = secretBases[i]; secretBases[i] = secretBases[j]; - secretBases[j] = base; + secretBases[j] = temp; } } } } -void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 b) +void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 registryStatus) { u16 i; - - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (mixer->records[i].sbr_field_1_6 == b) - { - sub_80EAA64(&mixer->records[i], mixer->version, mixer->language); - } + if (mixer->secretBases[i].registryStatus == registryStatus) + sub_80EAA64(&mixer->secretBases[i], mixer->version, mixer->language); } } -bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) +bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase) { u8 i; @@ -1503,13 +1445,13 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) return FALSE; // Check if the player's trainer Id matches the secret base's id. - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i]) return FALSE; } - for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i ++) + for (i = 0; i < PLAYER_NAME_LENGTH && (secretBase->trainerName[i] != EOS || gSaveBlock2Ptr->playerName[i] != EOS); i++) { if (secretBase->trainerName[i] != gSaveBlock2Ptr->playerName[i]) return FALSE; @@ -1518,16 +1460,16 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) return TRUE; } -void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC) +void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC) { u8 i; u8 sbFlags = 0x0; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (!(sbFlags & 0x1)) // 001 { - if (DoesSecretBaseBelongToPlayer(&basesA[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesA[i]) == TRUE) { ClearSecretBase(&basesA[i]); sbFlags |= 1; @@ -1536,7 +1478,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR if (!(sbFlags & 0x2)) // 010 { - if (DoesSecretBaseBelongToPlayer(&basesB[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesB[i]) == TRUE) { ClearSecretBase(&basesB[i]); sbFlags |= 2; @@ -1545,7 +1487,7 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR if (!(sbFlags & 0x4)) // 100 { - if (DoesSecretBaseBelongToPlayer(&basesC[i]) == TRUE) + if (SecretBaseBelongsToPlayer(&basesC[i]) == TRUE) { ClearSecretBase(&basesC[i]); sbFlags |= 4; @@ -1559,15 +1501,15 @@ void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBaseR } } -bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secretBases, u8 c) +bool8 sub_80EAD14(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c) { u8 i; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (secretBases[i].secretBaseId != 0) { - if (sub_80EA950(base, &secretBases[i]) == TRUE) + if (SecretBasesBelongToSamePlayer(secretBase, &secretBases[i]) == TRUE) { if (c == 0) { @@ -1575,15 +1517,14 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret return FALSE; } - if (base->sbr_field_e > secretBases[i].sbr_field_e) + if (secretBase->numSecretBasesReceived > secretBases[i].numSecretBasesReceived) { ClearSecretBase(&secretBases[i]); return FALSE; } - secretBases[i].sbr_field_1_0 = base->sbr_field_1_0; - - ClearSecretBase(base); + secretBases[i].sbr_field_1_0 = secretBase->sbr_field_1_0; + ClearSecretBase(secretBase); return TRUE; } } @@ -1592,15 +1533,15 @@ bool8 sub_80EAD14(struct SecretBaseRecord *base, struct SecretBaseRecord *secret return FALSE; } -void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC, struct SecretBaseRecord *basesD) +void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC, struct SecretBase *basesD) { u8 i; - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (basesA[i].secretBaseId) { - if (basesA[i].sbr_field_1_6 == 1) + if (basesA[i].registryStatus == 1) { basesA[i].sbr_field_1_0 = 1; } @@ -1613,32 +1554,32 @@ void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases } } } - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (basesB[i].secretBaseId) { - basesB[i].sbr_field_1_5 = 0; + basesB[i].battledOwnerToday = 0; if (!sub_80EAD14(&basesB[i], basesC, i)) { sub_80EAD14(&basesB[i], basesD, i); } } } - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (basesC[i].secretBaseId) { - basesC[i].sbr_field_1_5 = 0; + basesC[i].battledOwnerToday = 0; sub_80EAD14(&basesC[i], basesD, i); } if (basesD[i].secretBaseId) { - basesD[i].sbr_field_1_5 = 0; + basesD[i].battledOwnerToday = 0; } } } -void sub_80EAE90(struct SecretBaseRecord *base, u32 version, u32 language) +void sub_80EAE90(struct SecretBase *base, u32 version, u32 language) { if (base->sbr_field_1_0 == 1) { @@ -1651,22 +1592,22 @@ void sub_80EAEB4(struct SecretBaseRecordMixer *mixers) { u16 i; - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { - sub_80EAE90(&mixers[0].records[i], mixers[0].version, mixers[0].language); - sub_80EAE90(&mixers[1].records[i], mixers[1].version, mixers[1].language); - sub_80EAE90(&mixers[2].records[i], mixers[2].version, mixers[2].language); + sub_80EAE90(&mixers[0].secretBases[i], mixers[0].version, mixers[0].language); + sub_80EAE90(&mixers[1].secretBases[i], mixers[1].version, mixers[1].language); + sub_80EAE90(&mixers[2].secretBases[i], mixers[2].version, mixers[2].language); } } void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) { - DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].records, mixers[1].records, mixers[2].records); - sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].records, mixers[1].records, mixers[2].records); + DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases); + sub_80EAD94(gSaveBlock1Ptr->secretBases, mixers[0].secretBases, mixers[1].secretBases, mixers[2].secretBases); sub_80EAEB4(mixers); - sub_80EAA64(mixers[0].records, mixers[0].version, mixers[0].language); - sub_80EAA64(mixers[1].records, mixers[1].version, mixers[1].language); - sub_80EAA64(mixers[2].records, mixers[2].version, mixers[2].language); + sub_80EAA64(mixers[0].secretBases, mixers[0].version, mixers[0].language); + sub_80EAA64(mixers[1].secretBases, mixers[1].version, mixers[1].language); + sub_80EAA64(mixers[2].secretBases, mixers[2].version, mixers[2].language); sub_80EABA4(&mixers[0], 1); sub_80EABA4(&mixers[1], 1); sub_80EABA4(&mixers[2], 1); @@ -1675,7 +1616,7 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) sub_80EABA4(&mixers[2], 0); } -void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx) +void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) { struct SecretBaseRecordMixer mixers[3]; u16 i; @@ -1684,95 +1625,97 @@ void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx) { switch (GetLinkPlayerCount()) { - case 2: - memset(records + 2 * recordSize, 0, recordSize); - memset(records + 3 * recordSize, 0, recordSize); - break; - case 3: - memset(records + 3 * recordSize, 0, recordSize); - break; + case 2: + memset(secretBases + 2 * recordSize, 0, recordSize); + memset(secretBases + 3 * recordSize, 0, recordSize); + break; + case 3: + memset(secretBases + 3 * recordSize, 0, recordSize); + break; } + switch (linkIdx) { - case 0: - mixers[0].records = records + 1 * recordSize; - mixers[0].version = gLinkPlayers[1].version & 0xFF; - mixers[0].language = gLinkPlayers[1].language; - mixers[1].records = records + 2 * recordSize; - mixers[1].version = gLinkPlayers[2].version & 0xFF; - mixers[1].language = gLinkPlayers[2].language; - mixers[2].records = records + 3 * recordSize; - mixers[2].version = gLinkPlayers[3].version & 0xFF; - mixers[2].language = gLinkPlayers[3].language; - break; - case 1: - mixers[0].records = records + 2 * recordSize; - mixers[0].version = gLinkPlayers[2].version & 0xFF; - mixers[0].language = gLinkPlayers[2].language; - mixers[1].records = records + 3 * recordSize; - mixers[1].version = gLinkPlayers[3].version & 0xFF; - mixers[1].language = gLinkPlayers[3].language; - mixers[2].records = records + 0 * recordSize; - mixers[2].version = gLinkPlayers[0].version & 0xFF; - mixers[2].language = gLinkPlayers[0].language; - break; - case 2: - mixers[0].records = records + 3 * recordSize; - mixers[0].version = gLinkPlayers[3].version & 0xFF; - mixers[0].language = gLinkPlayers[3].language; - mixers[1].records = records + 0 * recordSize; - mixers[1].version = gLinkPlayers[0].version & 0xFF; - mixers[1].language = gLinkPlayers[0].language; - mixers[2].records = records + 1 * recordSize; - mixers[2].version = gLinkPlayers[1].version & 0xFF; - mixers[2].language = gLinkPlayers[1].language; - break; - case 3: - mixers[0].records = records + 0 * recordSize; - mixers[0].version = gLinkPlayers[0].version & 0xFF; - mixers[0].language = gLinkPlayers[0].language; - mixers[1].records = records + 1 * recordSize; - mixers[1].version = gLinkPlayers[1].version & 0xFF; - mixers[1].language = gLinkPlayers[1].language; - mixers[2].records = records + 2 * recordSize; - mixers[2].version = gLinkPlayers[2].version & 0xFF; - mixers[2].language = gLinkPlayers[2].language; - break; + case 0: + mixers[0].secretBases = secretBases + 1 * recordSize; + mixers[0].version = gLinkPlayers[1].version & 0xFF; + mixers[0].language = gLinkPlayers[1].language; + mixers[1].secretBases = secretBases + 2 * recordSize; + mixers[1].version = gLinkPlayers[2].version & 0xFF; + mixers[1].language = gLinkPlayers[2].language; + mixers[2].secretBases = secretBases + 3 * recordSize; + mixers[2].version = gLinkPlayers[3].version & 0xFF; + mixers[2].language = gLinkPlayers[3].language; + break; + case 1: + mixers[0].secretBases = secretBases + 2 * recordSize; + mixers[0].version = gLinkPlayers[2].version & 0xFF; + mixers[0].language = gLinkPlayers[2].language; + mixers[1].secretBases = secretBases + 3 * recordSize; + mixers[1].version = gLinkPlayers[3].version & 0xFF; + mixers[1].language = gLinkPlayers[3].language; + mixers[2].secretBases = secretBases + 0 * recordSize; + mixers[2].version = gLinkPlayers[0].version & 0xFF; + mixers[2].language = gLinkPlayers[0].language; + break; + case 2: + mixers[0].secretBases = secretBases + 3 * recordSize; + mixers[0].version = gLinkPlayers[3].version & 0xFF; + mixers[0].language = gLinkPlayers[3].language; + mixers[1].secretBases = secretBases + 0 * recordSize; + mixers[1].version = gLinkPlayers[0].version & 0xFF; + mixers[1].language = gLinkPlayers[0].language; + mixers[2].secretBases = secretBases + 1 * recordSize; + mixers[2].version = gLinkPlayers[1].version & 0xFF; + mixers[2].language = gLinkPlayers[1].language; + break; + case 3: + mixers[0].secretBases = secretBases + 0 * recordSize; + mixers[0].version = gLinkPlayers[0].version & 0xFF; + mixers[0].language = gLinkPlayers[0].language; + mixers[1].secretBases = secretBases + 1 * recordSize; + mixers[1].version = gLinkPlayers[1].version & 0xFF; + mixers[1].language = gLinkPlayers[1].language; + mixers[2].secretBases = secretBases + 2 * recordSize; + mixers[2].version = gLinkPlayers[2].version & 0xFF; + mixers[2].language = gLinkPlayers[2].language; + break; } + sub_80EAEF4(mixers); - for (i = 1; i < SECRET_BASES_COUNT; i ++) + for (i = 1; i < SECRET_BASES_COUNT; i++) { if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 == 1) { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 1; + gSaveBlock1Ptr->secretBases[i].registryStatus = 1; gSaveBlock1Ptr->secretBases[i].sbr_field_1_0 = 0; } } - sub_80EAAF4(); - for (i = 1; i < SECRET_BASES_COUNT; i ++) + + SortSecretBasesByRegistryStatus(); + for (i = 1; i < SECRET_BASES_COUNT; i++) { - if (gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 == 2) + if (gSaveBlock1Ptr->secretBases[i].registryStatus == 2) { - gSaveBlock1Ptr->secretBases[i].sbr_field_1_6 = 0; + gSaveBlock1Ptr->secretBases[i].registryStatus = 0; } } - if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0 && gSaveBlock1Ptr->secretBases[0].sbr_field_e != 0xFFFF) + + if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0 + && gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived != 0xFFFF) { - gSaveBlock1Ptr->secretBases[0].sbr_field_e ++; + gSaveBlock1Ptr->secretBases[0].numSecretBasesReceived++; } } } -void sub_80EB18C(struct SecretBaseRecord *bases) +void ClearJapaneseSecretBases(struct SecretBase *bases) { u32 i; - - for (i = 0; i < SECRET_BASES_COUNT; i ++) + for (i = 0; i < SECRET_BASES_COUNT; i++) { if (bases[i].language == LANGUAGE_JAPANESE) - { ClearSecretBase(&bases[i]); - } } } @@ -1783,22 +1726,19 @@ void sub_80EB1AC(void) VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, 0); VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, 0); if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, TRUE); - } else - { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); - } - gInFriendSecretBase = FALSE; + + sInFriendSecretBase = FALSE; } void sub_80EB218(void) { - if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && gInFriendSecretBase == TRUE && !CurrentMapIsSecretBase()) + if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && sInFriendSecretBase == TRUE && !CurMapIsSecretBase()) { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); - gInFriendSecretBase = FALSE; + sInFriendSecretBase = FALSE; sub_80EEA70(); VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0); @@ -1811,17 +1751,13 @@ void sub_80EB218(void) void sub_80EB290(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x800); - } } void sub_80EB2C8(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x400); - } } void sub_80EB300(void) @@ -1864,10 +1800,9 @@ void sub_80EB438(void) } } -void sub_80EB498(void) +void SetSecretBaseSecretsTvFlags_Poster(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -1888,27 +1823,23 @@ void sub_80EB498(void) case 0x333: case 0x334: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x4000); - } break; } } -void sub_80EB56C(void) +void SetSecretBaseSecretsTvFlags_MiscFurnature(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { case 0x28a: case 0x28b: + // Bird Statue if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x40); - } break; case 0x2d8: case 0x2d9: @@ -1928,32 +1859,28 @@ void sub_80EB56C(void) case 0x2f9: case 0x2fa: case 0x2fb: + // Plants if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8); - } break; case 0x22c: case 0x233: + // Fence if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x40); - } break; case 0x288: case 0x289: + // Tire if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); - } break; case 0x22d: case 0x22e: case 0x22f: + // Bricks if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); - } break; case 0x287: case 0x28f: @@ -1978,18 +1905,16 @@ void sub_80EB56C(void) case 0x2cd: case 0x2ce: case 0x2cf: + // Tables if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; } } -void sub_80EB9E0(void) +void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -2006,17 +1931,14 @@ void sub_80EB9E0(void) case 0x2c3: case 0x2c6: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; } } -void sub_80EBB28(void) +void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) @@ -2044,42 +1966,34 @@ void sub_80EBB28(void) case 0x2c5: case 0x2c7: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); - } break; case 0x280: case 0x281: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); - } break; case 0x225: case 0x226: case 0x227: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); - } break; } } -void sub_80EBE7C(void) +void SetSecretBaseSecretsTvFlags_SandOrnament(void) { - s16 x; - s16 y; + s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch ((int)MapGridGetMetatileIdAt(x, y)) { case 0x28d: case 0x28e: + // Sand Ornament if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - { VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4); - } break; } } diff --git a/src/shop.c b/src/shop.c index 32caafb64..1c6d7cf2e 100755 --- a/src/shop.c +++ b/src/shop.c @@ -1,6 +1,6 @@ #include "global.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "decoration.h" #include "decoration_inventory.h" @@ -33,6 +33,7 @@ #include "strings.h" #include "text_window.h" #include "tv.h" +#include "constants/decorations.h" #include "constants/items.h" #include "constants/metatile_behaviors.h" #include "constants/rgb.h" @@ -276,7 +277,7 @@ static u8 CreateShopMenu(u8 martType) ScriptContext2_Enable(); gMartInfo.martType = martType; - if (martType == MART_TYPE_0) + if (martType == MART_TYPE_NORMAL) { struct WindowTemplate winTemplate; winTemplate = sShopMenuWindowTemplates[0]; @@ -396,7 +397,7 @@ static void Task_ReturnToShopMenu(u8 taskId) { if (IsWeatherNotFadingIn() == TRUE) { - if (gMartInfo.martType == MART_TYPE_2) + if (gMartInfo.martType == MART_TYPE_DECOR2) DisplayItemMessageOnField(taskId, gText_CanIHelpWithAnythingElse, ShowShopMenuAfterExitingBuyOrSellMenu); else DisplayItemMessageOnField(taskId, gText_AnythingElseICanHelp, ShowShopMenuAfterExitingBuyOrSellMenu); @@ -511,7 +512,7 @@ static void BuyMenuBuildListMenuTemplate(void) static void BuyMenuSetListEntry(struct ListMenuItem *menuItem, u16 item, u8 *name) { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) CopyItemName(item, name); else StringCopy(name, gDecorations[item].name); @@ -535,7 +536,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(int item, bool8 onInit, s gShopDataPtr->iconSlot ^= 1; if (item != -2) { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) description = ItemId_GetDescription(item); else description = gDecorations[item].description; @@ -555,7 +556,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, int item, u8 y) if (item != -2) { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { ConvertIntToDecimalStringN( gStringVar1, @@ -616,7 +617,7 @@ static void BuyMenuAddItemIcon(u16 item, u8 iconSlot) if (*spriteIdPtr != 0xFF) return; - if (gMartInfo.martType == MART_TYPE_0 || item == 0xFFFF) + if (gMartInfo.martType == MART_TYPE_NORMAL || item == 0xFFFF) { spriteId = AddItemIconSprite(iconSlot + 2110, iconSlot + 2110, item); if (spriteId != MAX_SPRITES) @@ -929,7 +930,7 @@ static void Task_BuyMenu(u8 taskId) BuyMenuRemoveScrollIndicatorArrows(); BuyMenuPrintCursor(tListTaskId, 2); - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(1)); } @@ -944,7 +945,7 @@ static void Task_BuyMenu(u8 taskId) } else { - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { CopyItemName(itemId, gStringVar1); if (ItemId_GetPocket(itemId) == POCKET_TM_HM) @@ -962,7 +963,7 @@ static void Task_BuyMenu(u8 taskId) StringCopy(gStringVar1, gDecorations[itemId].name); ConvertIntToDecimalStringN(gStringVar2, gShopDataPtr->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6); - if (gMartInfo.martType == MART_TYPE_1) + if (gMartInfo.martType == MART_TYPE_DECOR) StringExpandPlaceholders(gStringVar4, gText_Var1IsItThatllBeVar2); else StringExpandPlaceholders(gStringVar4, gText_YouWantedVar1ThatllBeVar2); @@ -1051,7 +1052,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) PutWindowTilemap(1); - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { if (AddBagItem(tItemId, tItemCount) == TRUE) { @@ -1067,7 +1068,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) { if (DecorationAdd(tItemId)) { - if (gMartInfo.martType == MART_TYPE_1) + if (gMartInfo.martType == MART_TYPE_DECOR) { BuyMenuDisplayMessage(taskId, gText_ThankYouIllSendItHome, BuyMenuSubtractMoney); } @@ -1090,7 +1091,7 @@ static void BuyMenuSubtractMoney(u8 taskId) PlaySE(SE_REGI); PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); - if (gMartInfo.martType == MART_TYPE_0) + if (gMartInfo.martType == MART_TYPE_NORMAL) { gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase; } @@ -1154,7 +1155,7 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) static void ExitBuyMenu(u8 taskId) { gFieldCallback = MapPostLoadHook_ReturnToShopMenu; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_ExitBuyMenu; } @@ -1211,7 +1212,7 @@ static void RecordItemPurchase(u8 taskId) void CreatePokemartMenu(const u16 *itemsForSale) { - CreateShopMenu(MART_TYPE_0); + CreateShopMenu(MART_TYPE_NORMAL); SetShopItemsForSale(itemsForSale); ClearItemPurchases(); SetShopMenuCallback(EnableBothScriptContexts); @@ -1219,14 +1220,14 @@ void CreatePokemartMenu(const u16 *itemsForSale) void CreateDecorationShop1Menu(const u16 *itemsForSale) { - CreateShopMenu(MART_TYPE_1); + CreateShopMenu(MART_TYPE_DECOR); SetShopItemsForSale(itemsForSale); SetShopMenuCallback(EnableBothScriptContexts); } void CreateDecorationShop2Menu(const u16 *itemsForSale) { - CreateShopMenu(MART_TYPE_2); + CreateShopMenu(MART_TYPE_DECOR2); SetShopItemsForSale(itemsForSale); SetShopMenuCallback(EnableBothScriptContexts); -} +}
\ No newline at end of file diff --git a/src/slot_machine.c b/src/slot_machine.c index a2e1f1554..b853daa39 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -658,7 +658,7 @@ static void Task_FadeToSlotMachine(u8 taskId) switch (gTasks[taskId].tState) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].tState++; break; case 1: @@ -718,7 +718,7 @@ static void CB2_SlotMachineSetup(void) gMain.state++; break; case 7: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(-1, 0, 0x10, 0, RGB_BLACK); ShowBg(0); ShowBg(1); ShowBg(2); diff --git a/src/smokescreen.c b/src/smokescreen.c index d9780bbb6..61e011451 100644 --- a/src/smokescreen.c +++ b/src/smokescreen.c @@ -1,11 +1,15 @@ #include "global.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "sprite.h" #include "util.h" static void sub_8075370(struct Sprite *); +extern const struct CompressedSpriteSheet gUnknown_0831C620; +extern const struct CompressedSpritePalette gUnknown_0831C628; +extern const struct SpriteTemplate gUnknown_0831C688; + u8 sub_807521C(s16 x, s16 y, u8 a3) { u8 mainSpriteId; diff --git a/src/start_menu.c b/src/start_menu.c index 5b527e15e..fcde176ac 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -45,6 +45,7 @@ #include "constants/songs.h" #include "rom_8011DC0.h" #include "union_room.h" +#include "constants/rgb.h" // Menu actions enum @@ -1237,7 +1238,7 @@ static void sub_80A0550(u8 taskId) DrawTextBorderOuter(0, 8, 14); PutWindowTilemap(0); CopyWindowToVram(0, 3); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); if (gWirelessCommType != 0 && InUnionRoom()) { @@ -1270,7 +1271,7 @@ static void sub_80A0550(u8 taskId) } break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); *step = 4; break; case 4: diff --git a/src/starter_choose.c b/src/starter_choose.c index c3d636175..886daa45a 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -1,6 +1,6 @@ #include "global.h" #include "bg.h" -#include "data2.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "gpu_regs.h" @@ -22,6 +22,7 @@ #include "window.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/rgb.h" #define STARTER_MON_COUNT 3 @@ -429,7 +430,7 @@ void CB2_ChooseStarter(void) LoadCompressedSpriteSheet(&gUnknown_085B1ED8[0]); LoadCompressedSpriteSheet(&gUnknown_085B1EE8[0]); LoadSpritePalettes(gUnknown_085B1EF8); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); EnableInterrupts(DISPSTAT_VBLANK); SetVBlankCallback(VblankCB_StarterChoose); diff --git a/src/strings.c b/src/strings.c index 577d26f5c..793256edb 100644 --- a/src/strings.c +++ b/src/strings.c @@ -162,8 +162,8 @@ const u8 gText_DexSearchTypeNone[] = _("NONE"); const u8 gText_SelectorArrow[] = _("▶"); const u8 gUnknown_085E8B3C[] = _(" "); const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!"); -const u8 gUnknown_085E8B5B[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH's POKéDEX rating!\pPROF. BIRCH: Let's see…\p"); -const u8 gUnknown_085E8BBA[] = _("SAVING…\nDON'T TURN OFF THE POWER."); +const u8 gText_HOFDexRating[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH's POKéDEX rating!\pPROF. BIRCH: Let's see…\p"); +const u8 gText_HOFDexSaving[] = _("SAVING…\nDON'T TURN OFF THE POWER."); const u8 gText_HOFCorrupted[] = _("The HALL OF FAME data is corrupted."); const u8 gText_HOFNumber[] = _("HALL OF FAME No. {STR_VAR_1}"); const u8 gText_LeagueChamp[] = _("LEAGUE CHAMPION!\nCONGRATULATIONS!"); @@ -529,7 +529,7 @@ const u8 gText_ApostropheSBase[] = _("'s BASE"); const u8 gText_OkayToDeleteFromRegistry[] = _("Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?"); const u8 gText_RegisteredDataDeleted[] = _("The registered data was deleted.{PAUSE_UNTIL_PRESS}"); const u8 gText_NoRegistry[] = _("There is no REGISTRY.{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_085EA79D[] = _("DEL REGIST."); +const u8 gText_DelRegist[] = _("DEL REGIST."); const u8 gUnknown_085EA7A9[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); const u8 gText_Decorate[] = _("DECORATE"); const u8 gText_PutAway[] = _("PUT AWAY"); @@ -962,21 +962,21 @@ const u8 gUnknown_085EBE7D[] = _("DETAIL"); const u8 gUnknown_085EBE84[] = _("CALL"); const u8 gUnknown_085EBE89[] = _("EXIT"); const u8 gUnknown_085EBE8E[] = _("Can't call opponent here."); -const u8 gUnknown_085EBEA8[] = _("STRATEGY"); -const u8 gUnknown_085EBEB1[] = _("TRAINER'S POKéMON"); -const u8 gUnknown_085EBEC3[] = _("SELF-INTRODUCTION"); -const u8 gText_Navgear_ClearButtonList[] = _("{CLEAR 0x80}"); -const u8 gText_NavgearMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); -const u8 gText_NavgearMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MonStatusButtons[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); -const u8 gText_NavgearCondition_MarkingButtons[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); -const u8 gText_NavgearMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_MonListButtons[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_RibbonListButtons[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); -const u8 gText_NavgearRibbons_RibbonCheckButtons[] = _("{B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGY"); +const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON"); +const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION"); +const u8 gText_Pokenav_ClearButtonList[] = _("{CLEAR 0x80}"); +const u8 gText_PokenavMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); +const u8 gText_PokenavMap_ZoomedInButtons[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MonStatusButtons[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); +const u8 gText_PokenavCondition_MarkingButtons[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gText_PokenavMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_MonListButtons[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_RibbonListButtons[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); +const u8 gText_PokenavRibbons_RibbonCheckButtons[] = _("{B_BUTTON}CANCEL"); const u8 gText_NatureSlash[] = _("NATURE/"); const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!"); const u8 gText_InParty[] = _("IN PARTY"); diff --git a/src/title_screen.c b/src/title_screen.c index b9ef53000..8310ef811 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -575,7 +575,7 @@ void CB2_InitTitleScreen(void) break; } case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, RGB_WHITEALPHA); SetVBlankCallback(VBlankCB); gMain.state = 4; break; @@ -725,7 +725,7 @@ static void Task_TitleScreenPhase3(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & START_BUTTON)) { FadeOutBGM(4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); SetMainCallback2(CB2_GoToMainMenu); } else if ((gMain.heldKeys & CLEAR_SAVE_BUTTON_COMBO) == CLEAR_SAVE_BUTTON_COMBO) @@ -736,13 +736,13 @@ static void Task_TitleScreenPhase3(u8 taskId) && CanResetRTC() == TRUE) { FadeOutBGM(4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_GoToResetRtcScreen); } else if ((gMain.heldKeys & BERRY_UPDATE_BUTTON_COMBO) == BERRY_UPDATE_BUTTON_COMBO) { FadeOutBGM(4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_GoToBerryFixScreen); } else @@ -759,7 +759,7 @@ static void Task_TitleScreenPhase3(u8 taskId) UpdateLegendaryMarkingColor(gTasks[taskId].tCounter); if ((gMPlayInfo_BGM.status & 0xFFFF) == 0) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); SetMainCallback2(CB2_GoToCopyrightScreen); } } diff --git a/src/trade.c b/src/trade.c index 80c74d2cd..d97325174 100644 --- a/src/trade.c +++ b/src/trade.c @@ -4,7 +4,7 @@ #include "battle_interface.h" #include "bg.h" #include "cable_club.h" -#include "data2.h" +#include "data.h" #include "daycare.h" #include "decompress.h" #include "event_data.h" @@ -1384,10 +1384,6 @@ static const u8 gUnknown_08339090[][2] = {0, 0} }; -// external to this file -extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const struct MonCoords gMonFrontPicCoords[]; - static bool8 sub_8077170(const void *a0, u32 a1) { if (gUnknown_02022C2C == 29) @@ -1626,7 +1622,7 @@ static void sub_80773D0(void) if (sub_8010500()) { gMain.state++; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } } @@ -1820,7 +1816,7 @@ static void sub_8077B74(void) case 5: if (gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } gMain.state++; @@ -4246,7 +4242,7 @@ void sub_807AE50(void) { if (gWirelessCommType) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); } SetMainCallback2(sub_807EA2C); diff --git a/src/trader.c b/src/trader.c index 97bc4626f..dcf1fa076 100644 --- a/src/trader.c +++ b/src/trader.c @@ -142,7 +142,7 @@ void ScrSpecial_DoesPlayerHaveNoDecorations(void) for (i = 0; i < 8; i++) { - if (CountDecorationCategoryN(i)) + if (GetNumOwnedDecorationsInCategory(i)) { gSpecialVar_Result = FALSE; return; @@ -157,21 +157,21 @@ void ScrSpecial_IsDecorationFull(void) if (gDecorations[gSpecialVar_0x8004].category != gDecorations[gSpecialVar_0x8006].category && GetFirstEmptyDecorSlot(gDecorations[gSpecialVar_0x8004].category) == -1) { - sub_8127250(gStringVar2, gDecorations[gSpecialVar_0x8004].category); + CopyDecorationCategoryName(gStringVar2, gDecorations[gSpecialVar_0x8004].category); gSpecialVar_Result = TRUE; } } void ScrSpecial_TraderMenuGiveDecoration(void) { - CreateTask(sub_8127208, 0); + CreateTask(ShowDecorationCategoriesWindow, 0); } void sub_8133DA0(u8 taskId) { if (IsSelectedDecorInThePC() == TRUE) { - gSpecialVar_0x8006 = gCurDecorInventoryItems[gCurDecorationIndex]; + gSpecialVar_0x8006 = gCurDecorationItems[gCurDecorationIndex]; StringCopy(gStringVar3, gDecorations[gSpecialVar_0x8004].name); StringCopy(gStringVar2, gDecorations[gSpecialVar_0x8006].name); } @@ -183,7 +183,7 @@ void sub_8133DA0(u8 taskId) EnableBothScriptContexts(); } -void sub_8133E1C(u8 taskId) +void ExitTraderMenu(u8 taskId) { gSpecialVar_0x8006 = 0; DestroyTask(taskId); diff --git a/src/trainer_card.c b/src/trainer_card.c index 01839d598..52a060ae9 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -30,6 +30,7 @@ #include "constants/flags.h" #include "constants/game_stat.h" #include "constants/battle_frontier.h" +#include "constants/rgb.h" enum { @@ -381,7 +382,7 @@ static void sub_80C2760(u8 taskId) case 7: if (gWirelessCommType == 1 && gReceivedRemoteLinkPlayers == TRUE) { - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(230, 150); } BlendPalettes(0xFFFFFFFF, 16, sData->var_52C); diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 8172f09e6..6824e8747 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -6,21 +6,10 @@ #include "palette.h" #include "decompress.h" #include "trainer_pokemon_sprites.h" -#include "data2.h" +#include "data.h" #include "pokemon.h" #include "constants/trainers.h" -extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES]; -extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; -extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const union AffineAnimCmd *const gUnknown_082FF618[]; -extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[]; -extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES]; -extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; - // Static type declarations struct PicData @@ -149,7 +138,7 @@ static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 pale static void AssignSpriteAnimsTable(bool8 isTrainer) { if (!isTrainer) - sCreatingSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; + sCreatingSpriteTemplate.anims = gUnknown_082FF70C; else sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0]; } @@ -270,7 +259,7 @@ u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s1 images[j].size = 0x800; } sCreatingSpriteTemplate.tileTag = 0xFFFF; - sCreatingSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + sCreatingSpriteTemplate.anims = gMonFrontAnimsPtrTable[species]; sCreatingSpriteTemplate.images = images; if (flags2 == 0x01) { @@ -37,7 +37,7 @@ #include "decoration.h" #include "secret_base.h" #include "tv.h" -#include "data2.h" +#include "data.h" #include "constants/layouts.h" #include "constants/metatile_behaviors.h" @@ -2567,7 +2567,7 @@ void sub_80EEA70(void) show->secretBaseSecrets.active = FALSE; StringCopy(show->secretBaseSecrets.playerName, gSaveBlock2Ptr->playerName); show->secretBaseSecrets.stepsInBase = VarGet(VAR_SECRET_BASE_STEP_COUNTER); - sub_80E980C(); + CopyCurSecretBaseOwnerName_StrVar1(); StringCopy(strbuf, gStringVar1); StripExtCtrlCodes(strbuf); StringCopy(show->secretBaseSecrets.baseOwnersName, strbuf); @@ -7366,7 +7366,7 @@ u8 TVShowGetFlagCount(TVShow *show) return tot; } -u8 TVShowGetStateForFlagNumber(TVShow *show, u8 a1) +static u8 SecretBaseSecrets_GetStateForFlagNumber(TVShow *show, u8 a1) { u8 i; u8 tot; @@ -7409,7 +7409,7 @@ static void DoTVShowSecretBaseSecrets(void) { show->secretBaseSecrets.savedState = 1; sTVSecretBaseSecretsRandomValues[0] = Random() % bitCount; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); } break; case 1: @@ -7424,11 +7424,11 @@ static void DoTVShowSecretBaseSecrets(void) show->secretBaseSecrets.savedState = 2; if (sTVSecretBaseSecretsRandomValues[0] == 0) { - sTVShowState = TVShowGetStateForFlagNumber(show, 1); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 1); } else { - sTVShowState = TVShowGetStateForFlagNumber(show, 0); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 0); } break; default: @@ -7441,7 +7441,7 @@ static void DoTVShowSecretBaseSecrets(void) } } show->secretBaseSecrets.savedState = 2; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); break; } break; @@ -7463,7 +7463,7 @@ static void DoTVShowSecretBaseSecrets(void) } } show->secretBaseSecrets.savedState = 3; - sTVShowState = TVShowGetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); + sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); } break; case 3: diff --git a/src/union_room.c b/src/union_room.c index ea3658903..6e7c0965d 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -32,7 +32,7 @@ #include "palette.h" #include "decompress.h" #include "start_menu.h" -#include "data2.h" +#include "data.h" #include "field_screen_effect.h" #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" @@ -47,6 +47,7 @@ #include "berry_crush.h" #include "mystery_gift.h" #include "union_room_player_avatar.h" +#include "pokemon_jump.h" EWRAM_DATA u8 gUnknown_02022C20[12] = {}; EWRAM_DATA u8 gUnknown_02022C2C = 0; @@ -97,7 +98,6 @@ bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1) u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId); void sub_801807C(struct TradeUnkStruct *arg0); void sub_801AC54(void); -void sub_802A9A8(u8 monId, MainCallback callback); void sub_802493C(u8 monId, MainCallback callback); void sub_80149D8(void); void MG_DrawTextBorder(u8 windowId); @@ -1404,7 +1404,7 @@ void sub_8012780(u8 taskId) switch (sub_80170B8(&data->textState, sub_801064C(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName))) { case 0: - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); data->field_19 = 5; sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); @@ -2130,7 +2130,7 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id) void sub_8013BD8(struct UnkStruct_Group *data, s32 id) { data->field_F = id; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); RedrawListMenu(data->listTaskId); sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); @@ -2782,7 +2782,7 @@ void sub_8014A40(u8 taskId) switch (mevent_message_print_and_prompt_yes_no(&data->textState, &data->field_14, 0, gStringVar4)) { case 0: - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); data->field_0->arr[data->field_13].field_1B = 0; RedrawListMenu(data->listTaskId); @@ -2985,7 +2985,7 @@ void sub_8014F48(u8 taskId) if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7) { data->field_F = id; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); RedrawListMenu(data->listTaskId); sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); @@ -3148,7 +3148,7 @@ void sub_80152F4(u8 taskId) { data->field_F = 0; data->field_14 = 0; - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); sub_8011FC8(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.field_0.unk_00.playerTrainerId)); PlaySE(SE_PN_ON); @@ -3905,7 +3905,7 @@ void sub_80156E0(u8 taskId) } break; case 53: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); data->state = 54; break; case 54: diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 84a0406be..4afeb99cf 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -610,7 +610,7 @@ static void c2_081284E0(void) SetMainCallback2(sub_801DF38); gUnknown_02022C84->unkE = CreateTask(sub_801DF54, 8); gUnknown_02022C84->unkF = CreateTask(sub_801F2B4, 7); - sub_800E0E8(); + LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(232, 150); } break; diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index 61be86a37..4c302c5eb 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -125,7 +125,7 @@ static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId) static void CreateUnionRoomPlayerEventObject(u32 playerIdx) { - show_sprite(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnEventObject(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } static void RemoveUnionRoomPlayerEventObject(u32 playerIdx) diff --git a/src/unk_transition.c b/src/unk_transition.c index 99479c866..cd91af07e 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -8,6 +8,7 @@ #include "trig.h" #include "bg.h" #include "gpu_regs.h" +#include "constants/rgb.h" typedef bool8 (*TransitionStateFunc)(struct Task *task); @@ -361,7 +362,7 @@ static bool8 sub_81DAB4C(struct Task *task) { if (task->data[3] == 31) { - BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_BLACK); task->tState++; } else diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 4eaf60be4..f28b651cc 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -21,6 +21,8 @@ #include "menu.h" #include "gpu_regs.h" #include "graphics.h" +#include "pokemon_summary_screen.h" +#include "item_menu.h" struct UsePokeblockSubStruct { @@ -83,8 +85,6 @@ struct UsePokeblockStruct /*0x7FD0*/ struct UsePokeblockSubStruct info; }; -extern u16 gKeyRepeatStartDelay; - extern void sub_81D21DC(u8); // this file's functions @@ -133,7 +133,6 @@ void sub_8168168(struct Sprite *sprite); extern const struct BgTemplate gUnknown_085DFCCC[4]; extern const struct WindowTemplate gUnknown_085DFCDC[]; -extern u16 gSpecialVar_ItemId; extern const struct WindowTemplate sUsePokeblockYesNoWinTemplate[]; extern const u8* sContestStatNames[]; extern const u32 gUnknown_085DFCB0[]; @@ -152,8 +151,6 @@ extern const u8 gUnknown_085DFCC9[]; extern const struct SpritePalette gUnknown_085DFDB8; extern const struct SpriteTemplate gUnknown_085DFDA0; -extern const u8 *const gNatureNamePointers[]; - // ram variables EWRAM_DATA struct UsePokeblockSubStruct *gUnknown_0203BC90 = NULL; EWRAM_DATA void (*gUnknown_0203BC94)(void) = NULL; diff --git a/src/wallclock.c b/src/wallclock.c index 810abb1d1..01900dc8e 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -18,6 +18,7 @@ #include "trig.h" #include "wallclock.h" #include "window.h" +#include "constants/rgb.h" #include "constants/songs.h" // static declarations @@ -671,7 +672,7 @@ static void LoadWallClockGraphics(void) static void WallClockInit(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(WallClockVblankCallback); SetMainCallback2(WallClockMainCallback); @@ -864,7 +865,7 @@ static void Task_SetClock4(u8 taskId) static void Task_SetClock5(u8 taskId) { RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_SetClock6; } @@ -896,7 +897,7 @@ static void Task_ViewClock2(u8 taskId) static void Task_ViewClock3(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_ViewClock4; } diff --git a/src/water.c b/src/water.c index 20bf2542d..4480c3f43 100644 --- a/src/water.c +++ b/src/water.c @@ -483,7 +483,7 @@ extern const struct SpriteTemplate gUnknown_08597388; void AnimTask_CreateRaindrops(u8 taskId) { u8 x, y; - + if (gTasks[taskId].data[0] == 0) { gTasks[taskId].data[1] = gBattleAnimArgs[0]; @@ -520,7 +520,7 @@ void sub_8107228(struct Sprite *sprite) void sub_8107260(struct Sprite *sprite) { u8 spriteId; - + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0]; @@ -559,7 +559,7 @@ void sub_8107380(struct Sprite *sprite) u8 otherSpriteId = sprite->data[5]; u8 timer = gSprites[otherSpriteId].data[4]; u16 trigIndex = gSprites[otherSpriteId].data[3]; - + sprite->data[0] = 1; AnimTranslateLinear(sprite); sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]); @@ -593,7 +593,7 @@ void sub_8107430(struct Sprite *sprite) void sub_810744C(struct Sprite *sprite) { s16 unkArg; - + InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) unkArg = -gBattleAnimArgs[2]; @@ -636,7 +636,7 @@ void sub_810756C(u8 taskId) u16 *palPtr1; u16 *palPtr2; u16 rgbBuffer; - + if (++gTasks[taskId].data[10] == 3) { gTasks[taskId].data[10] = 0; @@ -724,7 +724,7 @@ _081075DE:\n\ void sub_81075EC(struct Sprite *sprite) { u16 retArg; - + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 30; sprite->data[1] = sprite->pos1.x; @@ -781,7 +781,7 @@ void sub_81076F4(u8 taskId) void sub_8107730(struct Sprite *sprite) { u8 priority; - + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); sprite->pos2.y = -10; @@ -797,7 +797,7 @@ void sub_8107730(struct Sprite *sprite) { sprite->pos2.x = -10; sprite->subpriority = priority - 2; - } + } } else { @@ -876,7 +876,7 @@ void AnimTask_CreateSurfWave(u8 taskId) { struct BattleAnimBgData animBg; u8 taskId2; - + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); @@ -894,9 +894,9 @@ void AnimTask_CreateSurfWave(u8 taskId) { sub_80A6D60(&animBg, gUnknown_08D963A4, 1); } - AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBackgroundImage_Surf, animBg.tilesOffset); + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); if (gBattleAnimArgs[0] == 0) - LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, animBg.paletteId * 16, 32); + LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32); else LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32); taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1); @@ -1009,7 +1009,7 @@ _081079E0:\n\ _081079EA:\n\ mov r0, sp\n\ ldrb r0, [r0, 0x9]\n\ - ldr r1, =gBattleAnimBackgroundImage_Surf\n\ + ldr r1, =gBattleAnimBgImage_Surf\n\ mov r2, sp\n\ ldrh r2, [r2, 0xA]\n\ bl AnimLoadCompressedBgGfx\n\ @@ -1018,7 +1018,7 @@ _081079EA:\n\ ldrsh r0, [r0, r1]\n\ cmp r0, 0\n\ bne _08107A24\n\ - ldr r0, =gBattleAnimBackgroundPalette_Surf\n\ + ldr r0, =gBattleAnimBgPalette_Surf\n\ mov r1, sp\n\ ldrb r1, [r1, 0x8]\n\ lsls r1, 4\n\ @@ -1182,7 +1182,7 @@ void sub_8107B84(u8 taskId) s16 unkUse; u32 palOffset; u16 palNum; - + *BGptrX += gTasks[taskId].data[0]; *BGptrY += gTasks[taskId].data[1]; sub_80A6B30(&animBg); @@ -1405,485 +1405,77 @@ void sub_8107CC4(u8 taskId) } } -#ifdef NONMATCHING void sub_8107D58(u8 taskId) { s16 i; struct ScanlineEffectParams params; struct Task *task = &gTasks[taskId]; - // u16 *scanlineBuffer; - + switch (task->data[0]) { - case 0: - for (i = 0; i < task->data[4]; i++) - { - /* scanlineBuffer = &gScanlineEffectRegBuffers[0][i]; - *(u16 *)(&gScanlineEffect) = task->data[2]; - *scanlineBuffer = task->data[2] & -1; */ - gScanlineEffectRegBuffers[1][i] = task->data[2]; - gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); - } - for (i = task->data[4]; i < task->data[5]; i++) - { - gScanlineEffectRegBuffers[1][i] = task->data[1]; - gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[1] & 0xFFFF)); - } - for (i = task->data[5]; i < 160; i++) - { - gScanlineEffectRegBuffers[1][i] = task->data[2]; - gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF)); - } - if (task->data[4] == 0) - { - gScanlineEffectRegBuffers[1][i] = task->data[1]; - gScanlineEffectRegBuffers[0][i] = task->data[1]; - } - else - { - gScanlineEffectRegBuffers[1][i] = task->data[2]; - gScanlineEffectRegBuffers[0][i] = task->data[2]; - } - params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA; - params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; - params.initState = 1; - params.unused9 = 0; - ScanlineEffect_SetParams(params); - task->data[0]++; - break; - case 1: - if (task->data[3] == 0) - { - if (--task->data[4] <= 0) - { - task->data[4] = 0; - task->data[0]++; - } - } - else if (++task->data[5] > 111) + case 0: + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + + if (task->data[4] == 0) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1]; + else + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + + params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA; + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.initState = 1; + params.unused9 = 0; + ScanlineEffect_SetParams(params); + task->data[0]++; + break; + case 1: + if (task->data[3] == 0) + { + if (--task->data[4] <= 0) { + task->data[4] = 0; task->data[0]++; } - for (i = 0; i < task->data[4]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - for (i = task->data[4]; i < task->data[5]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; - } - for (i = task->data[5]; i < 160; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - break; - case 2: - for (i = 0; i < task->data[4]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - for (i = task->data[4]; i < task->data[5]; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; - } - for (i = task->data[5]; i < 160; i++) - { - gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; - } - if (task->data[15] == -1) - { - ScanlineEffect_Stop(); - DestroyTask(taskId); - } - break; + } + else if (++task->data[5] > 111) + { + task->data[0]++; + } + + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + break; + case 2: + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + + if (task->data[15] == -1) + { + ScanlineEffect_Stop(); + DestroyTask(taskId); + } + break; } } -#else -NAKED -void sub_8107D58(u8 taskId) -{ - asm_unified("push {r4-r7,lr}\n\ - sub sp, 0xC\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - lsls r0, r7, 2\n\ - adds r0, r7\n\ - lsls r0, 3\n\ - ldr r1, =gTasks\n\ - adds r4, r0, r1\n\ - movs r1, 0x8\n\ - ldrsh r0, [r4, r1]\n\ - cmp r0, 0x1\n\ - bne _08107D74\n\ - b _08107EAC\n\ -_08107D74:\n\ - cmp r0, 0x1\n\ - bgt _08107D84\n\ - cmp r0, 0\n\ - beq _08107D8C\n\ - b _08108022\n\ - .pool\n\ -_08107D84:\n\ - cmp r0, 0x2\n\ - bne _08107D8A\n\ - b _08107F78\n\ -_08107D8A:\n\ - b _08108022\n\ -_08107D8C:\n\ - movs r3, 0\n\ - movs r2, 0x10\n\ - ldrsh r0, [r4, r2]\n\ - ldr r1, =gScanlineEffectRegBuffers\n\ - mov r12, r1\n\ - cmp r3, r0\n\ - bge _08107DCA\n\ - mov r7, r12\n\ - movs r5, 0xF0\n\ - lsls r5, 3\n\ - add r5, r12\n\ - ldr r6, =0x0000ffff\n\ -_08107DA4:\n\ - lsls r2, r3, 16\n\ - asrs r2, 16\n\ - lsls r1, r2, 1\n\ - adds r3, r1, r7\n\ - adds r1, r5\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r1]\n\ - ldrh r1, [r4, 0xC]\n\ - adds r0, r6, 0\n\ - ands r0, r1\n\ - strh r0, [r3]\n\ - adds r2, 0x1\n\ - lsls r2, 16\n\ - lsrs r3, r2, 16\n\ - asrs r2, 16\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r2, r0\n\ - blt _08107DA4\n\ -_08107DCA:\n\ - ldrh r3, [r4, 0x10]\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - bge _08107E04\n\ - ldr r5, =gScanlineEffectRegBuffers\n\ - movs r0, 0xF0\n\ - lsls r0, 3\n\ - adds r6, r5, r0\n\ - ldr r7, =0x0000ffff\n\ -_08107DE2:\n\ - asrs r2, 16\n\ - lsls r1, r2, 1\n\ - adds r3, r1, r5\n\ - adds r1, r6\n\ - ldrh r0, [r4, 0xA]\n\ - strh r0, [r1]\n\ - ldrh r1, [r4, 0xA]\n\ - adds r0, r7, 0\n\ - ands r0, r1\n\ - strh r0, [r3]\n\ - adds r2, 0x1\n\ - lsls r2, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - blt _08107DE2\n\ -_08107E04:\n\ - ldrh r3, [r4, 0x12]\n\ - lsls r2, r3, 16\n\ - asrs r0, r2, 16\n\ - cmp r0, 0x9F\n\ - bgt _08107E3A\n\ - ldr r5, =gScanlineEffectRegBuffers\n\ - movs r0, 0xF0\n\ - lsls r0, 3\n\ - adds r6, r5, r0\n\ - ldr r7, =0x0000ffff\n\ -_08107E18:\n\ - asrs r2, 16\n\ - lsls r1, r2, 1\n\ - adds r3, r1, r5\n\ - adds r1, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r1]\n\ - ldrh r1, [r4, 0xC]\n\ - adds r0, r7, 0\n\ - ands r0, r1\n\ - strh r0, [r3]\n\ - adds r2, 0x1\n\ - lsls r2, 16\n\ - lsrs r3, r2, 16\n\ - lsls r2, r3, 16\n\ - asrs r0, r2, 16\n\ - cmp r0, 0x9F\n\ - ble _08107E18\n\ -_08107E3A:\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r0, 0\n\ - bne _08107E64\n\ - lsls r0, r3, 16\n\ - asrs r0, 15\n\ - mov r3, r12\n\ - adds r2, r0, r3\n\ - movs r1, 0xF0\n\ - lsls r1, 3\n\ - add r1, r12\n\ - adds r0, r1\n\ - ldrh r1, [r4, 0xA]\n\ - strh r1, [r0]\n\ - ldrh r0, [r4, 0xA]\n\ - b _08107E7A\n\ - .pool\n\ -_08107E64:\n\ - lsls r0, r3, 16\n\ - asrs r0, 15\n\ - mov r1, r12\n\ - adds r2, r0, r1\n\ - movs r1, 0xF0\n\ - lsls r1, 3\n\ - add r1, r12\n\ - adds r0, r1\n\ - ldrh r1, [r4, 0xC]\n\ - strh r1, [r0]\n\ - ldrh r0, [r4, 0xC]\n\ -_08107E7A:\n\ - strh r0, [r2]\n\ - ldr r0, =0x04000052\n\ - str r0, [sp]\n\ - ldr r0, =0xa2600001\n\ - str r0, [sp, 0x4]\n\ - mov r1, sp\n\ - movs r2, 0\n\ - movs r0, 0x1\n\ - strb r0, [r1, 0x8]\n\ - mov r0, sp\n\ - strb r2, [r0, 0x9]\n\ - ldr r0, [sp]\n\ - ldr r1, [sp, 0x4]\n\ - ldr r2, [sp, 0x8]\n\ - bl ScanlineEffect_SetParams\n\ - ldrh r0, [r4, 0x8]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x8]\n\ - b _08108022\n\ - .pool\n\ -_08107EAC:\n\ - movs r2, 0xE\n\ - ldrsh r1, [r4, r2]\n\ - cmp r1, 0\n\ - bne _08107EC4\n\ - ldrh r0, [r4, 0x10]\n\ - subs r0, 0x1\n\ - strh r0, [r4, 0x10]\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - bgt _08107ED8\n\ - strh r1, [r4, 0x10]\n\ - b _08107ED2\n\ -_08107EC4:\n\ - ldrh r0, [r4, 0x12]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x12]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x6F\n\ - ble _08107ED8\n\ -_08107ED2:\n\ - ldrh r0, [r4, 0x8]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x8]\n\ -_08107ED8:\n\ - movs r3, 0\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r3, r0\n\ - bge _08107F0C\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107EE6:\n\ - lsls r1, r3, 16\n\ - asrs r1, 16\n\ - lsls r3, r1, 1\n\ - ldrb r2, [r5, 0x14]\n\ - lsls r0, r2, 4\n\ - subs r0, r2\n\ - lsls r0, 7\n\ - adds r3, r0\n\ - adds r3, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r3]\n\ - adds r1, 0x1\n\ - lsls r1, 16\n\ - lsrs r3, r1, 16\n\ - asrs r1, 16\n\ - movs r2, 0x10\n\ - ldrsh r0, [r4, r2]\n\ - cmp r1, r0\n\ - blt _08107EE6\n\ -_08107F0C:\n\ - ldrh r3, [r4, 0x10]\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - bge _08107F40\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107F1E:\n\ - asrs r3, r2, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xA]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - blt _08107F1E\n\ -_08107F40:\n\ - ldrh r3, [r4, 0x12]\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - bgt _08108022\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107F4E:\n\ - asrs r3, r1, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - ble _08107F4E\n\ - b _08108022\n\ - .pool\n\ -_08107F78:\n\ - movs r3, 0\n\ - movs r1, 0x10\n\ - ldrsh r0, [r4, r1]\n\ - cmp r3, r0\n\ - bge _08107FAC\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107F86:\n\ - lsls r1, r3, 16\n\ - asrs r1, 16\n\ - lsls r3, r1, 1\n\ - ldrb r2, [r5, 0x14]\n\ - lsls r0, r2, 4\n\ - subs r0, r2\n\ - lsls r0, 7\n\ - adds r3, r0\n\ - adds r3, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r3]\n\ - adds r1, 0x1\n\ - lsls r1, 16\n\ - lsrs r3, r1, 16\n\ - asrs r1, 16\n\ - movs r2, 0x10\n\ - ldrsh r0, [r4, r2]\n\ - cmp r1, r0\n\ - blt _08107F86\n\ -_08107FAC:\n\ - ldrh r3, [r4, 0x10]\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - bge _08107FE0\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107FBE:\n\ - asrs r3, r2, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xA]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r2, r3, 16\n\ - asrs r1, r2, 16\n\ - movs r3, 0x12\n\ - ldrsh r0, [r4, r3]\n\ - cmp r1, r0\n\ - blt _08107FBE\n\ -_08107FE0:\n\ - ldrh r3, [r4, 0x12]\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - bgt _0810800C\n\ - ldr r6, =gScanlineEffectRegBuffers\n\ - ldr r5, =gScanlineEffect\n\ -_08107FEE:\n\ - asrs r3, r1, 16\n\ - lsls r2, r3, 1\n\ - ldrb r1, [r5, 0x14]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - lsls r0, 7\n\ - adds r2, r0\n\ - adds r2, r6\n\ - ldrh r0, [r4, 0xC]\n\ - strh r0, [r2]\n\ - adds r3, 0x1\n\ - lsls r1, r3, 16\n\ - asrs r0, r1, 16\n\ - cmp r0, 0x9F\n\ - ble _08107FEE\n\ -_0810800C:\n\ - movs r0, 0x26\n\ - ldrsh r1, [r4, r0]\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - cmp r1, r0\n\ - bne _08108022\n\ - bl ScanlineEffect_Stop\n\ - adds r0, r7, 0\n\ - bl DestroyTask\n\ -_08108022:\n\ - add sp, 0xC\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n"); -} -#endif void sub_8108034(struct Sprite *sprite) { s16 randData; s16 randData2; - + sprite->oam.tileNum += 8; InitSpritePosToAnimTarget(sprite, TRUE); randData = (Random2() & 0xFF) | 256; @@ -1911,7 +1503,7 @@ void sub_8108098(struct Sprite *sprite) void sub_81080E4(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[5] = gSprites[task->data[15]].pos1.y; task->data[1] = sub_8108384(); @@ -1922,85 +1514,85 @@ void sub_81080E4(u8 taskId) void sub_8108140(u8 taskId) { struct Task *task = &gTasks[taskId]; - + switch (task->data[0]) { - case 0: - sub_80A805C(task, task->data[15], 0x100, 0x100, 224, 0x200, 32); - task->data[0]++; - case 1: - if (++task->data[3] > 1) - { - task->data[3] = 0; - if (++task->data[4] & 1) - { - gSprites[task->data[15]].pos2.x = 3; - gSprites[task->data[15]].pos1.y++; - } - else - { - gSprites[task->data[15]].pos2.x = -3; - } - } - if (sub_80A80C8(task) == 0) - { - SetBattlerSpriteYOffsetFromYScale(task->data[15]); - gSprites[task->data[15]].pos2.x = 0; - task->data[3] = 0; - task->data[4] = 0; - task->data[0]++; - } - break; - case 2: - if (++task->data[3] > 4) + case 0: + sub_80A805C(task, task->data[15], 0x100, 0x100, 224, 0x200, 32); + task->data[0]++; + case 1: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) { - sub_80A805C(task, task->data[15], 224, 0x200, 384, 224, 8); - task->data[3] = 0; - task->data[0]++; + gSprites[task->data[15]].pos2.x = 3; + gSprites[task->data[15]].pos1.y++; } - break; - case 3: - if (sub_80A80C8(task) == 0) + else { - task->data[3] = 0; - task->data[4] = 0; - task->data[0]++; + gSprites[task->data[15]].pos2.x = -3; } - break; - case 4: - sub_8108408(task, taskId); + } + if (sub_80A80C8(task) == 0) + { + SetBattlerSpriteYOffsetFromYScale(task->data[15]); + gSprites[task->data[15]].pos2.x = 0; + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 2: + if (++task->data[3] > 4) + { + sub_80A805C(task, task->data[15], 224, 0x200, 384, 224, 8); + task->data[3] = 0; + task->data[0]++; + } + break; + case 3: + if (sub_80A80C8(task) == 0) + { + task->data[3] = 0; + task->data[4] = 0; task->data[0]++; - case 5: - if (++task->data[3] > 1) + } + break; + case 4: + sub_8108408(task, taskId); + task->data[0]++; + case 5: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + gSprites[task->data[15]].pos2.y += 2; + else + gSprites[task->data[15]].pos2.y -= 2; + if (task->data[4] == 10) { + sub_80A805C(task, task->data[15], 384, 224, 0x100, 0x100, 8); task->data[3] = 0; - if (++task->data[4] & 1) - gSprites[task->data[15]].pos2.y += 2; - else - gSprites[task->data[15]].pos2.y -= 2; - if (task->data[4] == 10) - { - sub_80A805C(task, task->data[15], 384, 224, 0x100, 0x100, 8); - task->data[3] = 0; - task->data[4] = 0; - task->data[0]++; - } - } - break; - case 6: - gSprites[task->data[15]].pos1.y--; - if (sub_80A80C8(task) == 0) - { - ResetSpriteRotScale(task->data[15]); - gSprites[task->data[15]].pos1.y = task->data[5]; task->data[4] = 0; task->data[0]++; } - break; - case 7: - if (task->data[2] == 0) - DestroyAnimVisualTask(taskId); - break; + } + break; + case 6: + gSprites[task->data[15]].pos1.y--; + if (sub_80A80C8(task) == 0) + { + ResetSpriteRotScale(task->data[15]); + gSprites[task->data[15]].pos1.y = task->data[5]; + task->data[4] = 0; + task->data[0]++; + } + break; + case 7: + if (task->data[2] == 0) + DestroyAnimVisualTask(taskId); + break; } } @@ -2011,7 +1603,7 @@ u8 sub_8108384(void) u16 maxhp; u16 partyIndex; struct Pokemon *slot; - + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; @@ -2045,7 +1637,7 @@ void sub_8108408(struct Task *task, u8 taskId) u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; s16 increment = 4 - task->data[1]; u8 spriteId; - + if (increment <= 0) increment = 1; for (i = 0; i < 20; i += increment) @@ -2073,28 +1665,28 @@ void sub_810851C(struct Sprite *sprite) { switch (sprite->data[0]) { - case 0: - sprite->data[4] += (sprite->data[1] % 6) * 3; - sprite->data[5] += (sprite->data[1] % 3) * 3; - sprite->data[0]++; - case 1: - sprite->data[2] += sprite->data[4]; - sprite->data[3] += sprite->data[5]; - sprite->pos1.x = sprite->data[2] >> 4; - sprite->pos1.y = sprite->data[3] >> 4; - if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120) - { - gTasks[sprite->data[6]].data[sprite->data[7]]--; - DestroySprite(sprite); - } - break; + case 0: + sprite->data[4] += (sprite->data[1] % 6) * 3; + sprite->data[5] += (sprite->data[1] % 3) * 3; + sprite->data[0]++; + case 1: + sprite->data[2] += sprite->data[4]; + sprite->data[3] += sprite->data[5]; + sprite->pos1.x = sprite->data[2] >> 4; + sprite->pos1.y = sprite->data[3] >> 4; + if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } + break; } } void sub_81085C8(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[1] = sub_8108384(); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2116,42 +1708,42 @@ void sub_810862C(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 taskId2; - + switch (task->data[0]) { - case 0: - if (++task->data[2] > 2) + case 0: + if (++task->data[2] > 2) + { + task->data[2] = 0; + sub_810871C(task, taskId); + } + if (task->data[10] != 0 && task->data[13] == 0) + { + gBattleAnimArgs[0] = 1; + gBattleAnimArgs[1] = 0; + gBattleAnimArgs[2] = 12; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) { - task->data[2] = 0; - sub_810871C(task, taskId); + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; } - if (task->data[10] != 0 && task->data[13] == 0) + gBattleAnimArgs[0] = 3; + taskId2 = CreateTask(sub_81152DC, 80); + if (taskId2 != 0xFF) { - gBattleAnimArgs[0] = 1; - gBattleAnimArgs[1] = 0; - gBattleAnimArgs[2] = 12; - taskId2 = CreateTask(sub_81152DC, 80); - if (taskId2 != 0xFF) - { - gTasks[taskId2].func(taskId2); - gAnimVisualTaskCount++; - } - gBattleAnimArgs[0] = 3; - taskId2 = CreateTask(sub_81152DC, 80); - if (taskId2 != 0xFF) - { - gTasks[taskId2].func(taskId2); - gAnimVisualTaskCount++; - } - task->data[13] = 1; + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; } - if (task->data[11] >= task->data[12]) - task->data[0]++; - break; - case 1: - if (task->data[9] == 0) - DestroyAnimVisualTask(taskId); - break; + task->data[13] = 1; + } + if (task->data[11] >= task->data[12]) + task->data[0]++; + break; + case 1: + if (task->data[9] == 0) + DestroyAnimVisualTask(taskId); + break; } } @@ -2159,7 +1751,7 @@ void sub_810871C(struct Task *task, u8 taskId) { u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6]; u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0); - + if (spriteId != MAX_SPRITES) { gSprites[spriteId].callback = sub_81087C0; @@ -2212,7 +1804,7 @@ void sub_810886C(struct Sprite *sprite) void sub_81088E4(u8 taskId) { struct Task *task = &gTasks[taskId]; - + task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1; @@ -2229,76 +1821,76 @@ void sub_81088E4(u8 taskId) void sub_8108978(u8 taskId) { struct Task *task = &gTasks[taskId]; - + switch (task->data[0]) { - case 0: - sub_8108AC0(task); - if (task->data[10] != 0) - task->data[0]++; - break; - case 1: - sub_8108AC0(task); - if (++task->data[1] > 16) + case 0: + sub_8108AC0(task); + if (task->data[10] != 0) + task->data[0]++; + break; + case 1: + sub_8108AC0(task); + if (++task->data[1] > 16) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + sub_8108AC0(task); + task->data[5] += task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + if (++task->data[12] > 2) { + task->data[13] = 1; + task->data[0] = 6; task->data[1] = 0; - task->data[0]++; } - break; - case 2: - sub_8108AC0(task); - task->data[5] += task->data[7] * 6; - if (!(task->data[5] >= -16 && task->data[5] <= 256)) - { - if (++task->data[12] > 2) - { - task->data[13] = 1; - task->data[0] = 6; - task->data[1] = 0; - } - else - { - task->data[1] = 0; - task->data[0]++; - } - } - break; - case 3: - sub_8108AC0(task); - task->data[6] -= task->data[7] * 2; - if (++task->data[1] > 7) - task->data[0]++; - break; - case 4: - sub_8108AC0(task); - task->data[5] -= task->data[7] * 6; - if (!(task->data[5] >= -16 && task->data[5] <= 256)) + else { - task->data[12]++; task->data[1] = 0; task->data[0]++; } - break; - case 5: - sub_8108AC0(task); - task->data[6] -= task->data[7] * 2; - if (++task->data[1] > 7) - task->data[0] = 2; - break; - case 6: - if (task->data[8] == 0) - task->data[0]++; - break; - default: - DestroyAnimVisualTask(taskId); - break; + } + break; + case 3: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0]++; + break; + case 4: + sub_8108AC0(task); + task->data[5] -= task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + task->data[12]++; + task->data[1] = 0; + task->data[0]++; + } + break; + case 5: + sub_8108AC0(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0] = 2; + break; + case 6: + if (task->data[8] == 0) + task->data[0]++; + break; + default: + DestroyAnimVisualTask(taskId); + break; } } void sub_8108AC0(struct Task *task) { u8 spriteId; - + if (++task->data[2] > 1) { task->data[2] = 0; @@ -2334,7 +1926,7 @@ void sub_8108B2C(struct Sprite *sprite) void sub_8108B94(struct Sprite *sprite) { u16 i; - + if (TranslateAnimHorizontalArc(sprite)) { for (i = 0; i < NUM_TASKS; i++) @@ -2397,7 +1989,7 @@ void sub_8108CDC(struct Sprite *sprite) { int xDiff = sprite->data[1] - sprite->pos1.x; int yDiff = sprite->data[2] - sprite->pos1.y; - + sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3]; sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3]; if (++sprite->data[5] == sprite->data[4]) @@ -2420,7 +2012,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) s16 randomSomethingX = -xDiff + (Random2() % 10) - 5; s16 i; u8 spriteId; - + for (i = 0; i <= 0; i++) { spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index e42bf8a23..84275526e 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -42,6 +42,16 @@ EWRAM_DATA static u32 sFeebasRngValue = 0; #include "data/wild_encounters.h" +//Special Feebas-related data. +const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS}; + +const u16 gRoute119WaterTileData[] = +{ + 0, 0x2D, 0, + 0x2E, 0x5B, 0x83, + 0x5C, 0x8B, 0x12A, +}; + // code void DisableWildEncounters(bool8 disabled) { |